Cortex
10.0.0-a4
|
#include <PointsPrimitive.h>
Public Member Functions | |
PointsPrimitive (size_t numPoints=0) | |
PointsPrimitive (V3fVectorDataPtr points, FloatVectorDataPtr radii=nullptr) | |
IE_CORE_DECLAREOBJECT (PointsPrimitive, Primitive) | |
size_t | getNumPoints () const |
void | setNumPoints (size_t n) |
Imath::Box3f | bound () const override |
Returns the bounding box for the rendered objects. | |
size_t | variableSize (PrimitiveVariable::Interpolation interpolation) const override |
void | render (Renderer *renderer) const override |
Render the object held by this instance via the given renderer. | |
void | topologyHash (MurmurHash &h) const override |
Hash representing the topology only. | |
![]() | |
IE_CORE_DECLAREABSTRACTOBJECT (Primitive, VisibleRenderable) | |
template<typename T > | |
T * | variableData (const std::string &name, PrimitiveVariable::Interpolation requiredInterpolation=PrimitiveVariable::Invalid) |
template<typename T > | |
const T * | variableData (const std::string &name, PrimitiveVariable::Interpolation requiredInterpolation=PrimitiveVariable::Invalid) const |
template<typename T > | |
T::Ptr | expandedVariableData (const std::string &name, PrimitiveVariable::Interpolation requiredInterpolation=PrimitiveVariable::Invalid) const |
bool | isPrimitiveVariableValid (const PrimitiveVariable &pv) const |
Returns true if the given primitive variable has the correct size for its interpolation type. | |
bool | arePrimitiveVariablesValid () const |
Returns true if all primitive variables have the correct size for their interpolation type. | |
PrimitiveVariable::Interpolation | inferInterpolation (size_t numElements) const |
PrimitiveVariable::Interpolation | inferInterpolation (const Data *data) const |
Imath::Box3f | bound () const override |
![]() | |
IE_CORE_DECLAREABSTRACTOBJECT (VisibleRenderable, Renderable) | |
![]() | |
IE_CORE_DECLAREABSTRACTOBJECT (Renderable, BlindDataHolder) | |
![]() | |
BlindDataHolder (CompoundDataPtr data) | |
IE_CORE_DECLAREOBJECT (BlindDataHolder, Object) | |
CompoundData * | blindData () |
Return the blind data for modification. | |
const CompoundData * | blindData () const |
![]() | |
IE_CORE_DECLARERUNTIMETYPED (Object, RunTimeTyped) | |
ObjectPtr | copy () const |
void | copyFrom (const Object *other) |
void | save (IndexedIOPtr ioInterface, const IndexedIO::EntryID &name) const |
virtual bool | isEqualTo (const Object *other) const =0 |
virtual bool | isNotEqualTo (const Object *other) const |
bool | operator== (const Object &other) const |
Calls isEqualTo() for people who prefer to use the operator syntax. | |
bool | operator!= (const Object &other) const |
Calls isNotEqualTo() for people who prefer to use the operator syntax. | |
size_t | memoryUsage () const |
Returns the number of bytes this instance occupies in memory. | |
MurmurHash | hash () const |
virtual void | hash (MurmurHash &h) const =0 |
![]() | |
IE_CORE_DECLAREMEMBERPTR (RunTimeTyped) | |
virtual TypeId | typeId () const |
virtual const char * | typeName () const |
virtual bool | isInstanceOf (TypeId typeId) const |
virtual bool | isInstanceOf (const char *typeName) const |
![]() | |
IE_CORE_DECLAREMEMBERPTR (RefCounted) | |
void | addRef () const |
Add a reference to the current object. | |
void | removeRef () const |
Remove a reference from the current object. | |
RefCount | refCount () const |
Returns the current reference count. | |
Additional Inherited Members | |
![]() | |
typedef ObjectPtr(* | CreatorFn) (void *data) |
![]() | |
typedef RefCounted | BaseClass |
A typedef for the class this class derives from. All RunTimeTyped classes define this typedef. | |
![]() | |
typedef size_t | RefCount |
![]() | |
static PrimitiveVariableMap | loadPrimitiveVariables (const IndexedIO *ioInterface, const IndexedIO::EntryID &name, const IndexedIO::EntryIDList &primVarNames) |
![]() | |
static void | registerType (TypeId typeId, const std::string &typeName, CreatorFn creator, void *data=nullptr) |
Register a new Object-derived type with the system. The specified void* data is passed into the creator function. | |
static bool | isType (TypeId typeId) |
Returns true if typeId is a valid registered Object type. | |
static bool | isType (const std::string &typeName) |
Returns true if typeName is a valid registered Object type. | |
static bool | isAbstractType (TypeId typeId) |
static bool | isAbstractType (const std::string &typeName) |
As above but taking a type name. | |
static ObjectPtr | create (TypeId typeId) |
static ObjectPtr | create (const std::string &typeName) |
static ObjectPtr | load (ConstIndexedIOPtr ioInterface, const IndexedIO::EntryID &name) |
![]() | |
static TypeId | staticTypeId () |
Returns the TypeId for this class, without needing an instance. | |
static const char * | staticTypeName () |
Returns the type name for this class, without needing an instance. | |
static TypeId | baseTypeId () |
static const char * | baseTypeName () |
static bool | inheritsFrom (TypeId typeId) |
Returns true if this class inherits from the specified type. | |
static bool | inheritsFrom (const char *typeName) |
Returns true if this class inherits from the specified type. | |
static bool | inheritsFrom (TypeId type, TypeId baseType) |
Returns true if type inherits from baseType. | |
static bool | inheritsFrom (const char *typeName, const char *baseTypeName) |
Returns true if typeName inherits from baseTypeName. | |
static TypeId | baseTypeId (TypeId typeId) |
Returns the base type of the given type, or InvalidTypeId if no such base exists. | |
static const std::vector< TypeId > & | baseTypeIds (TypeId typeId) |
static const std::set< TypeId > & | derivedTypeIds (TypeId typeId) |
static TypeId | typeIdFromTypeName (const char *typeName) |
static const char * | typeNameFromTypeId (TypeId typeId) |
static void | registerType (TypeId derivedTypeId, const char *derivedTypeName, TypeId baseTypeId) |
Allows external modules to register their own type ids. | |
![]() | |
PrimitiveVariableMap | variables |
Variables a stored as a public map for easy manipulation. | |
![]() | |
typedef std::map< TypeId, TypeId > | BaseTypeRegistryMap |
typedef std::map< TypeId, std::vector< TypeId > > | BaseTypesRegistryMap |
typedef std::map< TypeId, std::set< TypeId > > | DerivedTypesRegistryMap |
typedef tbb::spin_rw_mutex | Mutex |
typedef std::map< TypeId, std::string > | TypeIdsToTypeNamesMap |
typedef std::map< std::string, TypeId > | TypeNamesToTypeIdsMap |
![]() | |
virtual void | copyFrom (const Object *other, CopyContext *context)=0 |
IE_CORE_DECLAREPTR (LoadContext) | |
virtual void | save (SaveContext *context) const =0 |
virtual void | load (LoadContextPtr context)=0 |
virtual void | memoryUsage (MemoryAccumulator &accumulator) const =0 |
![]() | |
static BaseTypeRegistryMap & | baseTypeRegistry () |
static DerivedTypesRegistryMap & | derivedTypesRegistry () |
static BaseTypesRegistryMap & | completeBaseTypesRegistry () |
static DerivedTypesRegistryMap & | completeDerivedTypesRegistry () |
static void | derivedTypeIdsWalk (TypeId typeId, std::set< TypeId > &) |
static TypeIdsToTypeNamesMap & | typeIdsToTypeNames () |
static TypeNamesToTypeIdsMap & | typeNamesToTypeIds () |
![]() | |
static Mutex | g_baseTypeIdsMutex |
static Mutex | g_derivedTypeIdsMutex |
The PointsPrimitive class defines a simple pointcloud for rendering. A valid PointsPrimitive should have a primitive variable named "P" containing V3fVectorData of interpolation type Vertex. It optionally may also contain a primitive variable "r", containing FloatVectorData defining the radii of the points - this is also of interpolation type Vertex.
size_t IECore::PointsPrimitive::getNumPoints | ( | ) | const |
Returns the number of points the primitive is expected to have. This defines the expected dimensions of Primitive::Variable data.
void IECore::PointsPrimitive::setNumPoints | ( | size_t | n | ) |
Sets the number of points the primitive is expected to have. This defines the expected dimensions of Primitive::Variable data.
|
overridevirtual |
Returns numPoints() for Vertex, Varying, and FaceVarying interpolations, and 1 for all other types.
Implements IECore::Primitive.