35 #ifndef IE_CORE_RENDERER_H
36 #define IE_CORE_RENDERER_H
38 #include "IECore/Export.h"
39 #include "IECore/RunTimeTyped.h"
40 #include "IECore/PrimitiveVariable.h"
41 #include "IECore/VectorTypedData.h"
42 #include "IECore/CompoundData.h"
43 #include "IECore/CubicBasis.h"
44 #include "IECore/MurmurHash.h"
46 #include "OpenEXR/ImathMatrix.h"
47 #include "OpenEXR/ImathBox.h"
54 IE_CORE_FORWARDDECLARE( Renderer );
123 virtual void setOption(
const std::string &name, ConstDataPtr value ) = 0;
126 virtual ConstDataPtr getOption(
const std::string &name )
const = 0;
172 virtual void camera(
const std::string &name,
const CompoundDataMap ¶meters ) = 0;
179 virtual void display(
const std::string &name,
const std::string &type,
const std::string &data,
const CompoundDataMap ¶meters ) = 0;
186 virtual void worldBegin() = 0;
190 virtual void worldEnd() = 0;
198 virtual void transformBegin() = 0;
203 virtual void transformEnd() = 0;
205 virtual void setTransform(
const Imath::M44f &m ) = 0;
208 virtual void setTransform(
const std::string &coordinateSystem ) = 0;
210 virtual Imath::M44f getTransform()
const = 0;
212 virtual Imath::M44f getTransform(
const std::string &coordinateSystem )
const = 0;
214 virtual void concatTransform(
const Imath::M44f &m ) = 0;
217 virtual void coordinateSystem(
const std::string &name ) = 0;
226 virtual void attributeBegin() = 0;
231 virtual void attributeEnd() = 0;
268 virtual void setAttribute(
const std::string &name, ConstDataPtr value ) = 0;
270 virtual ConstDataPtr getAttribute(
const std::string &name )
const = 0;
272 virtual void shader(
const std::string &type,
const std::string &name,
const CompoundDataMap ¶meters ) = 0;
274 virtual void light(
const std::string &name,
const std::string &handle,
const CompoundDataMap ¶meters ) = 0;
276 virtual void illuminate(
const std::string &lightHandle,
bool on ) = 0;
282 virtual void motionBegin(
const std::set<float> × ) = 0;
289 virtual void motionEnd() = 0;
307 virtual void disk(
float radius,
float z,
float thetaMax,
const PrimitiveVariableMap &primVars ) = 0;
316 virtual void sphere(
float radius,
float zMin,
float zMax,
float thetaMax,
const PrimitiveVariableMap &primVars ) = 0;
319 virtual void image(
const Imath::Box2i &dataWindow,
const Imath::Box2i &displayWindow,
const PrimitiveVariableMap &primVars ) = 0;
323 virtual void mesh( ConstIntVectorDataPtr vertsPerFace, ConstIntVectorDataPtr vertIds,
const std::string &interpolation,
const PrimitiveVariableMap &primVars ) = 0;
325 virtual void nurbs(
int uOrder, ConstFloatVectorDataPtr uKnot,
float uMin,
float uMax,
int vOrder, ConstFloatVectorDataPtr vKnot,
float vMin,
float vMax,
const PrimitiveVariableMap &primVars ) = 0;
347 virtual Imath::Box3f bound()
const = 0;
352 virtual void render(
Renderer *renderer )
const = 0;
381 const std::string &fileName()
const;
384 Imath::Box3f bound()
const override;
385 void render(
Renderer *renderer )
const override;
390 std::string m_fileName;
391 Imath::Box3f m_bound;
398 virtual void procedural( ProceduralPtr proc ) = 0;
405 virtual void instanceBegin(
const std::string &name,
const CompoundDataMap ¶meters ) = 0;
408 virtual void instanceEnd() = 0;
411 virtual void instance(
const std::string &name ) = 0;
423 virtual DataPtr command(
const std::string &name,
const CompoundDataMap ¶meters ) = 0;
430 virtual void editBegin(
const std::string &editType,
const CompoundDataMap ¶meters ) = 0;
436 virtual void editEnd() = 0;
443 #endif // IE_CORE_RENDERER_H
static const Imath::Box3f noBound
Definition: Renderer.h:365
Definition: Renderer.h:335
Definition: MurmurHash.h:64
Definition: Renderer.h:93
std::map< InternedString, DataPtr > CompoundDataMap
The type of Data held by the CompoundData typedef.
Definition: CompoundDataBase.h:46
Definition: Renderer.h:372
Definition: RefCounted.h:124
Definition: RunTimeTyped.h:211
This namespace contains all components of the core library.
Definition: AddSmoothSkinningInfluencesOp.h:43
std::map< std::string, PrimitiveVariable > PrimitiveVariableMap
A simple type to hold named PrimitiveVariables.
Definition: PrimitiveVariable.h:107