Cortex  10.0.0-a4
Classes | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | List of all members
IECoreHoudini::ToHoudiniGeometryConverter Class Referenceabstract

#include <ToHoudiniGeometryConverter.h>

+ Inheritance diagram for IECoreHoudini::ToHoudiniGeometryConverter:

Classes

class  Description
 

Public Member Functions

 IE_CORE_DECLARERUNTIMETYPEDEXTENSION (ToHoudiniGeometryConverter, ToHoudiniGeometryConverterTypeId, ToHoudiniConverter)
 
bool convert (GU_DetailHandle handle) const
 
virtual void transferAttribs (GU_Detail *geo, const GA_Range &points, const GA_Range &prims) const
 
IECore::StringParameternameParameter ()
 
const IECore::StringParameternameParameter () const
 
IECore::StringParameterattributeFilterParameter ()
 
const IECore::StringParameterattributeFilterParameter () const
 
IECore::BoolParameterconvertStandardAttributesParameter ()
 
const IECore::BoolParameterconvertStandardAttributesParameter () const
 
- Public Member Functions inherited from IECoreHoudini::ToHoudiniConverter
 IE_CORE_DECLARERUNTIMETYPEDEXTENSION (ToHoudiniConverter, ToHoudiniConverterTypeId, IECore::FromCoreConverter)
 
- Public Member Functions inherited from IECore::FromCoreConverter
 IE_CORE_DECLARERUNTIMETYPED (FromCoreConverter, Converter)
 
ObjectParameterPtr srcParameter ()
 The parameter holding the object to be converted.
 
ConstObjectParameterPtr srcParameter () const
 
- Public Member Functions inherited from IECore::Converter
 IE_CORE_DECLARERUNTIMETYPED (Converter, Parameterised)
 
- Public Member Functions inherited from IECore::Parameterised
 IE_CORE_DECLARERUNTIMETYPED (Parameterised, RunTimeTyped)
 
 Parameterised (const std::string &description)
 
 Parameterised (const std::string &description, CompoundParameterPtr compoundParameter)
 Another constructor added later on that gives defines the CompoundParameter object to be hold in this Parameterised instance.
 
const std::string & description () const
 Returns a description for this parameterised object.
 
CompoundParameterparameters () override
 
const CompoundParameterparameters () const override
 Returns the parameters for query.
 
CompoundObjectuserData ()
 Returns an object that anyone can use for storing anything.
 
const CompoundObjectuserData () const
 Read only version of the above.
 
- Public Member Functions inherited from IECore::RunTimeTyped
 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
 
- Public Member Functions inherited from IECore::RefCounted
 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 Public Member Functions

static ToHoudiniGeometryConverterPtr create (const IECore::Object *object)
 
static void supportedTypes (std::set< IECore::TypeId > &types)
 
- Static Public Member Functions inherited from IECore::RunTimeTyped
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.
 

Protected Types

typedef ToHoudiniGeometryConverterPtr(* CreatorFn) (const IECore::Object *object)
 
- Protected Types inherited from IECore::RunTimeTyped
typedef std::map< TypeId, TypeIdBaseTypeRegistryMap
 
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, TypeIdTypeNamesToTypeIdsMap
 

Protected Member Functions

 ToHoudiniGeometryConverter (const IECore::Object *object, const std::string &description)
 
virtual bool doConversion (const IECore::Object *object, GU_Detail *geo) const =0
 Must be implemented by derived classes to fill the given GU_Detail with data from the IECore::Object.
 
void setName (GU_Detail *geo, const GA_Range &prims) const
 
virtual IECore::PrimitiveVariable processPrimitiveVariable (const IECore::Primitive *primitive, const IECore::PrimitiveVariable &primVar) const
 
GA_Range appendPoints (GA_Detail *geo, size_t numPoints) const
 Appends points to the GA_Detail. Returns a GA_Range containing the GA_Offsets for the newly added points.
 
void transferAttribValues (const IECore::Primitive *primitive, GU_Detail *geo, const GA_Range &points, const GA_Range &prims, IECore::PrimitiveVariable::Interpolation vertexInterpolation=IECore::PrimitiveVariable::FaceVarying, IECore::PrimitiveVariable::Interpolation primitiveInterpolation=IECore::PrimitiveVariable::Uniform, IECore::PrimitiveVariable::Interpolation pointInterpolation=IECore::PrimitiveVariable::Vertex, IECore::PrimitiveVariable::Interpolation detailInterpolation=IECore::PrimitiveVariable::Constant) const
 
- Protected Member Functions inherited from IECoreHoudini::ToHoudiniConverter
 ToHoudiniConverter (const std::string &description, IECore::TypeId supportedType)
 
- Protected Member Functions inherited from IECore::FromCoreConverter
 FromCoreConverter (const std::string &description, TypeId supportedType)
 
 FromCoreConverter (const std::string &description, const ObjectParameter::TypeIdSet &supportedTypes)
 
 FromCoreConverter (const std::string &description, const TypeId *supportedTypes)
 
- Protected Member Functions inherited from IECore::Converter
 Converter (const std::string &description)
 

Static Protected Member Functions

static void registerConverter (IECore::TypeId fromType, CreatorFn creator)
 
- Static Protected Member Functions inherited from IECore::RunTimeTyped
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 ()
 

Additional Inherited Members

- Public Types inherited from IECore::RunTimeTyped
typedef RefCounted BaseClass
 A typedef for the class this class derives from. All RunTimeTyped classes define this typedef.
 
- Public Types inherited from IECore::RefCounted
typedef size_t RefCount
 
- Static Protected Attributes inherited from IECore::RunTimeTyped
static Mutex g_baseTypeIdsMutex
 
static Mutex g_derivedTypeIdsMutex
 

Detailed Description

The ToHoudiniGeometryConverter class forms a base class for all classes able to perform some kind of conversion from an IECore::Object to a Houdini GU_Detail.

Member Function Documentation

bool IECoreHoudini::ToHoudiniGeometryConverter::convert ( GU_DetailHandle  handle) const

Converts the IECore::Object into the given GU_Detail and returns true if successful and false otherwise. Implemented to aquire the write lock on the GU_Detail held by the GU_DetailHandle, call doConversion(), and finally unlock the GU_Detail.

static ToHoudiniGeometryConverterPtr IECoreHoudini::ToHoudiniGeometryConverter::create ( const IECore::Object object)
static

Creates a converter which will convert the given IECore::Object to a Houdini GU_Detail. Returns 0 if no such converter can be found.

virtual IECore::PrimitiveVariable IECoreHoudini::ToHoudiniGeometryConverter::processPrimitiveVariable ( const IECore::Primitive primitive,
const IECore::PrimitiveVariable primVar 
) const
protectedvirtual

May be implemented by derived classes to pre-process PrimitiveVariables before conversion. Default implementation simply returns a shallow copy of the input variable.

Reimplemented in IECoreHoudini::ToHoudiniCurvesConverter.

void IECoreHoudini::ToHoudiniGeometryConverter::setName ( GU_Detail *  geo,
const GA_Range &  prims 
) const
protected

Utility to name the primitives based on the name parameter. This is called by the default implementation of transferAttribs(), and should be called by any overriding implementation.

static void IECoreHoudini::ToHoudiniGeometryConverter::supportedTypes ( std::set< IECore::TypeId > &  types)
static

Fills the passed vector with all the IECore::TypeIds for which a ToHoudiniGeometryConverter is available.

virtual void IECoreHoudini::ToHoudiniGeometryConverter::transferAttribs ( GU_Detail *  geo,
const GA_Range &  points,
const GA_Range &  prims 
) const
virtual

Transfers the primitive variables from the IECore::Primitive to the GU_Detail. This is usually called by convert(), but is also provided here so attribs may be transfered onto existing topology.

Reimplemented in IECoreHoudini::ToHoudiniCortexObjectConverter, IECoreHoudini::ToHoudiniCurvesConverter, IECoreHoudini::ToHoudiniPointsConverter, and IECoreHoudini::ToHoudiniCompoundObjectConverter.

void IECoreHoudini::ToHoudiniGeometryConverter::transferAttribValues ( const IECore::Primitive primitive,
GU_Detail *  geo,
const GA_Range &  points,
const GA_Range &  prims,
IECore::PrimitiveVariable::Interpolation  vertexInterpolation = IECore::PrimitiveVariable::FaceVarying,
IECore::PrimitiveVariable::Interpolation  primitiveInterpolation = IECore::PrimitiveVariable::Uniform,
IECore::PrimitiveVariable::Interpolation  pointInterpolation = IECore::PrimitiveVariable::Vertex,
IECore::PrimitiveVariable::Interpolation  detailInterpolation = IECore::PrimitiveVariable::Constant 
) const
protected

Transfers the primitive variables from the IECore::Primitive to the GU_Detail. In most cases, derived classes will implement transferAttribs to call this method with the appropriate arguments.


The documentation for this class was generated from the following file: