35 #ifndef IECOREHOUDINI_OBJSCENECACHENODE_H
36 #define IECOREHOUDINI_OBJSCENECACHENODE_H
38 #include "OP/OP_Node.h"
39 #include "OBJ/OBJ_Node.h"
41 #include "IECore/SceneCache.h"
43 #include "IECoreHoudini/SceneCacheNode.h"
50 template<
typename BaseType>
58 static PRM_Template *buildParameters( OP_TemplatePair *extraParameters = 0 );
60 static PRM_Name pMainSwitcher;
61 static PRM_Name pExpand;
62 static PRM_Name pPush;
63 static PRM_Name pCollapse;
64 static PRM_Name pExpanded;
65 static PRM_Name pOverrideTransform;
66 static PRM_Name pOutTranslate;
67 static PRM_Name pOutRotate;
68 static PRM_Name pOutScale;
70 static int expandButtonCallback(
void *data,
int index,
float time,
const PRM_Template *tplate );
71 static int pushButtonCallback(
void *data,
int index,
float time,
const PRM_Template *tplate );
72 static int collapseButtonCallback(
void *data,
int index,
float time,
const PRM_Template *tplate );
77 virtual void pushToHierarchy() = 0;
85 virtual OP_ERROR cookMyObj( OP_Context &context );
86 virtual bool getParmTransform( OP_Context &context, UT_DMatrix4 &xform );
87 virtual bool updateParmsFlags();
94 static OP_TemplatePair *buildExpansionParameters();
95 static OP_TemplatePair *buildOutputParameters();
101 #endif // IECOREHOUDINI_OBJSCENECACHENODE_H
The IECoreHoudini namespace holds all the functionality of libIECoreHoudini.
Definition: CoreHoudini.h:51
double time(OP_Context context) const
Definition: OBJ_SceneCacheNode.h:51
virtual void sceneChanged()
Definition: SceneCacheNode.h:54
Definition: SceneInterface.h:69
virtual void collapseHierarchy()
Implemented to destroy all child nodes.
virtual void expandHierarchy(const IECore::SceneInterface *scene)=0
Derived classes should define this function to expand the hierarchy contained in the SceneCache...
IECore::ConstSceneInterfacePtr scene() const