|
| CurvesPrimitive (ConstIntVectorDataPtr vertsPerCurve, const CubicBasisf &basis=CubicBasisf::linear(), bool periodic=false, ConstV3fVectorDataPtr p=nullptr) |
| Copies of vertsPerCurve and p are taken.
|
|
| IE_CORE_DECLAREOBJECT (CurvesPrimitive, Primitive) |
|
size_t | numCurves () const |
|
const IntVectorData * | verticesPerCurve () const |
|
const CubicBasisf & | basis () const |
|
bool | periodic () const |
|
void | setTopology (ConstIntVectorDataPtr verticesPerCurve, const CubicBasisf &basis, bool periodic) |
|
void | render (Renderer *renderer) const override |
| Render the object held by this instance via the given renderer.
|
|
size_t | variableSize (PrimitiveVariable::Interpolation interpolation) const override |
| Follows the RenderMan specification for variable sizes.
|
|
size_t | variableSize (PrimitiveVariable::Interpolation interpolation, unsigned curveIndex) const |
| Returns the variable size for a single curve.
|
|
unsigned | numSegments (unsigned curveIndex) const |
| Returns the number of segments in a given curve.
|
|
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.
|
|
|
static unsigned | numSegments (const CubicBasisf &basis, bool periodic, unsigned numVerts) |
| Returns the number of segments of a curve with the given topology.
|
|
static Ptr | createBox (const Imath::Box3f &b) |
| Creates a wireframe box of the specified size.
|
|
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.
|
|
|
static unsigned int | numSegments (bool linear, int step, bool periodic, int numVerts) |
| Throws an exception if numVerts is an inappropriate number for the current basis.
|
|
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 () |
|
|
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 |
|
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 Mutex | g_baseTypeIdsMutex |
|
static Mutex | g_derivedTypeIdsMutex |
|
The CurvesPrimitive class represents a number of curves with either cubic or linear interpolation. It is equivalent to the RenderMan RiCurves primitive.