Cortex  10.0.0-a4
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
IECoreHoudini::OBJ_SceneCacheGeometry Class Reference

OBJ for loading a single transform and leaf Objects from an IECore::SceneCache. More...

#include <OBJ_SceneCacheGeometry.h>

+ Inheritance diagram for IECoreHoudini::OBJ_SceneCacheGeometry:

Public Member Functions

 OBJ_SceneCacheGeometry (OP_Network *net, const char *name, OP_Operator *op)
 
virtual bool runCreateScript ()
 
virtual void expandHierarchy (const IECore::SceneInterface *scene)
 
virtual void pushToHierarchy ()
 Implemented to push the GeometryType and attribute filter values to the sop below.
 
- Public Member Functions inherited from IECoreHoudini::OBJ_SceneCacheNode< OBJ_Geometry >
 OBJ_SceneCacheNode (OP_Network *net, const char *name, OP_Operator *op)
 
virtual void collapseHierarchy ()
 Implemented to destroy all child nodes.
 
- Public Member Functions inherited from IECoreHoudini::SceneCacheNode< OBJ_Geometry >
 SceneCacheNode (OP_Network *net, const char *name, OP_Operator *op)
 
std::string getFile () const
 convenience methods for the common parameters;
 
void setFile (std::string file)
 
std::string getPath () const
 
void setPath (const IECore::SceneInterface *scene)
 
Space getSpace () const
 
void setSpace (Space space)
 
GeometryType getGeometryType () const
 
void setGeometryType (GeometryType type)
 
void getAttributeFilter (UT_String &filter) const
 
void getAttributeFilter (UT_StringMMPattern &filter) const
 
void setAttributeFilter (const UT_String &filter)
 
void getAttributeCopy (UT_String &value) const
 
void setAttributeCopy (const UT_String &value)
 
void getTagFilter (UT_String &filter) const
 
void getTagFilter (UT_StringMMPattern &filter) const
 
void setTagFilter (const UT_String &filter)
 
bool getTagGroups () const
 
void setTagGroups (bool tagGroups)
 
void getShapeFilter (UT_String &filter) const
 
void getShapeFilter (UT_StringMMPattern &filter) const
 
void setShapeFilter (const UT_String &filter)
 
void getFullPathName (UT_String &name) const
 
void setFullPathName (const UT_String &name)
 
void referenceParent (const char *parmName)
 
IECore::ConstSceneInterfacePtr scene () const
 
double time (OP_Context context) const
 

Static Public Member Functions

static OP_Node * create (OP_Network *net, const char *name, OP_Operator *op)
 
static OP_TemplatePair * buildParameters ()
 
- Static Public Member Functions inherited from IECoreHoudini::OBJ_SceneCacheNode< OBJ_Geometry >
static PRM_Template * buildParameters (OP_TemplatePair *extraParameters=0)
 
static int expandButtonCallback (void *data, int index, float time, const PRM_Template *tplate)
 
static int pushButtonCallback (void *data, int index, float time, const PRM_Template *tplate)
 
static int collapseButtonCallback (void *data, int index, float time, const PRM_Template *tplate)
 
- Static Public Member Functions inherited from IECoreHoudini::SceneCacheNode< OBJ_Geometry >
static int sceneParmChangedCallback (void *data, int index, float time, const PRM_Template *tplate)
 
static int reloadButtonCallback (void *data, int index, float time, const PRM_Template *tplate)
 
static void buildRootMenu (void *data, PRM_Name *menu, int maxSize, const PRM_SpareData *, const PRM_Parm *)
 
static void buildTagFilterMenu (void *data, PRM_Name *menu, int maxSize, const PRM_SpareData *, const PRM_Parm *)
 
static void buildShapeFilterMenu (void *data, PRM_Name *menu, int maxSize, const PRM_SpareData *, const PRM_Parm *)
 
static bool tagged (const IECore::SceneInterface *scene, const UT_StringMMPattern &filter)
 Determine if the given scene has any tag matching the filter.
 

Static Public Attributes

static const char * typeName
 
- Static Public Attributes inherited from IECoreHoudini::OBJ_SceneCacheNode< OBJ_Geometry >
static PRM_Name pMainSwitcher
 
static PRM_Name pExpand
 
static PRM_Name pPush
 
static PRM_Name pCollapse
 
static PRM_Name pExpanded
 
static PRM_Name pOverrideTransform
 
static PRM_Name pOutTranslate
 
static PRM_Name pOutRotate
 
static PRM_Name pOutScale
 
- Static Public Attributes inherited from IECoreHoudini::SceneCacheNode< OBJ_Geometry >
static PRM_Name pFile
 
static PRM_Name pRoot
 
static PRM_Name pSpace
 
static PRM_Name pReload
 
static PRM_Name pGeometryType
 
static PRM_Name pAttributeFilter
 
static PRM_Name pAttributeCopy
 
static PRM_Name pTagFilter
 
static PRM_Name pTagGroups
 
static PRM_Name pShapeFilter
 
static PRM_Name pFullPathName
 
static PRM_Default rootDefault
 
static PRM_Default spaceDefault
 
static PRM_Default filterDefault
 
static PRM_Default geometryTypeDefault
 
static PRM_ChoiceList rootMenu
 
static PRM_ChoiceList spaceList
 
static PRM_ChoiceList geometryTypeList
 
static PRM_ChoiceList attributeCopyMenu
 
static PRM_ChoiceList tagFilterMenu
 
static PRM_ChoiceList shapeFilterMenu
 

Protected Member Functions

virtual void doExpandGeometry (const IECore::SceneInterface *scene)
 
virtual int * getIndirect () const
 
- Protected Member Functions inherited from IECoreHoudini::OBJ_SceneCacheNode< OBJ_Geometry >
virtual void sceneChanged ()
 
virtual OP_ERROR cookMyObj (OP_Context &context)
 
virtual bool getParmTransform (OP_Context &context, UT_DMatrix4 &xform)
 
virtual bool updateParmsFlags ()
 
void updateState ()
 
- Protected Member Functions inherited from IECoreHoudini::SceneCacheNode< OBJ_Geometry >
Imath::M44d worldTransform (const std::string &fileName, const std::string &path, double time)
 Computes the worldTransform for the specified path.
 
bool ensureFile (std::string &file)
 get the file and ensure it is a valid SCC
 
void descendantNames (const IECore::SceneInterface *scene, std::vector< std::string > &descendants)
 get a breadth first list of all descendant paths
 
void objectNames (const IECore::SceneInterface *scene, std::vector< std::string > &objects)
 get a depth first list of all object names
 
void createMenu (PRM_Name *menu, const std::vector< std::string > &values)
 utility method to build a UI menu from one of the previous lists
 

Additional Inherited Members

- Public Types inherited from IECoreHoudini::SceneCacheNode< OBJ_Geometry >
enum  Space
 
enum  GeometryType
 
- Static Protected Member Functions inherited from IECoreHoudini::SceneCacheNode< OBJ_Geometry >
static IECore::ConstSceneInterfacePtr scene (const std::string &fileName, const std::string &path)
 
static std::string getFullScenePath (const IECore::SceneInterface *scene)
 get the full path to a scene including the name
 
static OP_TemplatePair * buildMainParameters ()
 
static OP_TemplatePair * buildOptionParameters ()
 
- Protected Attributes inherited from IECoreHoudini::OBJ_SceneCacheNode< OBJ_Geometry >
UT_Matrix4D m_xform
 
- Protected Attributes inherited from IECoreHoudini::SceneCacheNode< OBJ_Geometry >
bool m_loaded
 
boost::tribool m_static
 
IECore::MurmurHash m_hash
 

Detailed Description

OBJ for loading a single transform and leaf Objects from an IECore::SceneCache.

Member Function Documentation

virtual void IECoreHoudini::OBJ_SceneCacheGeometry::doExpandGeometry ( const IECore::SceneInterface scene)
protectedvirtual

Called by expandHierarchy() to load the SceneCache. The Space parameter will determine what settings are used. World and Path will load all descedants, while Local and Object will load the immediate child object only.

virtual void IECoreHoudini::OBJ_SceneCacheGeometry::expandHierarchy ( const IECore::SceneInterface scene)
virtual

Implemented to expand the SceneCache using a SOP_SceneCacheSource. Derived classes should re-implement doExpandGeometry() if specialized behaviour is necessary.

Todo:
: do we need this extra abstraction?

Implements IECoreHoudini::OBJ_SceneCacheNode< OBJ_Geometry >.


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