35 #ifndef IENUKE_SCENECACHEREADER_H
36 #define IENUKE_SCENECACHEREADER_H
38 #include "DDImage/SourceGeo.h"
39 #include "DDImage/Knobs.h"
40 #include "DDImage/Row.h"
41 #include "DDImage/Filter.h"
42 #include "IECore/LensModel.h"
44 #include "DDImage/Op.h"
45 #include "DDImage/Matrix4.h"
46 #include "DDImage/ViewerContext.h"
48 #include "IECoreGL/Scene.h"
49 #include "IECoreGL/Renderer.h"
51 #include "IECore/SceneInterface.h"
53 #include "OpenEXR/ImathMatrix.h"
66 virtual void knobs( DD::Image::Knob_Callback f );
67 virtual const char *Class()
const;
68 virtual const char *node_help()
const;
72 virtual void _validate(
bool forReal );
73 virtual void append( DD::Image::Hash &hash );
74 virtual void get_geometry_hash();
75 virtual void geometry_engine( DD::Image::Scene& scene, DD::Image::GeometryList &out );
76 virtual void create_geometry( DD::Image::Scene &scene, DD::Image::GeometryList &out );
77 virtual int knob_changed( DD::Image::Knob* k);
81 static const DD::Image::Op::Description m_description;
82 static DD::Image::Op *build( Node *node );
83 virtual void build_handles( DD::Image::ViewerContext* ctx);
90 void tagSelection( std::string &selection )
const;
93 inline bool itemSelected(
int itemIndex )
const;
95 const std::string &itemName(
int itemIndex )
const;
97 IECore::ConstSceneInterfacePtr getSceneInterface();
99 IECore::ConstSceneInterfacePtr getSceneInterface(
const std::string &path );
110 void loadAllFromKnobs();
118 void rebuildSceneView();
124 void filterScene(
const std::string &filterText,
const std::string &tagText,
bool keepSelection =
true );
126 void clearSceneViewSelection();
131 void updateTagFilterKnob();
133 void loadPrimitive( DD::Image::GeometryList &out,
const std::string &path );
135 DD::Image::Hash sceneHash()
const;
137 DD::Image::Hash selectionHash(
bool force =
false )
const;
139 Imath::M44d worldTransform( IECore::ConstSceneInterfacePtr scene, IECore::SceneInterface::Path root,
double time );
148 SharedData *sharedData();
149 const SharedData *sharedData()
const;
152 const char *m_filePath;
154 std::string m_filter;
156 DD::Image::Matrix4 m_baseParentMatrix;
159 DD::Image::Knob *m_filePathKnob;
160 DD::Image::Knob *m_baseParentMatrixKnob;
161 DD::Image::Knob *m_sceneKnob;
162 DD::Image::Knob *m_tagFilterKnob;
163 DD::Image::Knob *m_sceneFilterKnob;
164 DD::Image::Knob *m_rootKnob;
172 #endif // IENUKE_SCENECACHEREADER_H
The IECoreNuke namespace holds all the functionality of libIECoreNuke.
Definition: BoolParameterHandler.h:40
Loads and displays geometry from a scene cache file.
Definition: SceneCacheReader.h:59