35 #ifndef IECORERI_RENDERER_H
36 #define IECORERI_RENDERER_H
38 #include "IECoreRI/Export.h"
39 #include "IECoreRI/TypeIds.h"
41 #include "IECore/Renderer.h"
46 IE_CORE_FORWARDDECLARE( RendererImplementation );
94 void setOption(
const std::string &name, IECore::ConstDataPtr value )
override;
103 IECore::ConstDataPtr getOption(
const std::string &name )
const override;
120 void display(
const std::string &name,
const std::string &type,
const std::string &data,
const IECore::CompoundDataMap ¶meters )
override;
122 void worldBegin()
override;
123 void worldEnd()
override;
125 void transformBegin()
override;
126 void transformEnd()
override;
127 void setTransform(
const Imath::M44f &m )
override;
128 void setTransform(
const std::string &coordinateSystem )
override;
129 Imath::M44f getTransform()
const override;
130 Imath::M44f getTransform(
const std::string &coordinateSystem )
const override;
131 void concatTransform(
const Imath::M44f &m )
override;
132 void coordinateSystem(
const std::string &name )
override;
134 void attributeBegin()
override;
135 void attributeEnd()
override;
192 void setAttribute(
const std::string &name, IECore::ConstDataPtr value )
override;
204 IECore::ConstDataPtr getAttribute(
const std::string &name )
const override;
213 void shader(
const std::string &type,
const std::string &name,
const IECore::CompoundDataMap ¶meters )
override;
217 void light(
const std::string &name,
const std::string &handle,
const IECore::CompoundDataMap ¶meters )
override;
218 void illuminate(
const std::string &lightHandle,
bool on )
override;
220 void motionBegin(
const std::set<float> × )
override;
221 void motionEnd()
override;
242 void mesh( IECore::ConstIntVectorDataPtr vertsPerFace, IECore::ConstIntVectorDataPtr vertIds,
const std::string &interpolation,
const IECore::PrimitiveVariableMap &primVars )
override;
244 void nurbs(
int uOrder, IECore::ConstFloatVectorDataPtr uKnot,
float uMin,
float uMax,
int vOrder, IECore::ConstFloatVectorDataPtr vKnot,
float vMin,
float vMax,
const IECore::PrimitiveVariableMap &primVars )
override;
260 void procedural( IECore::Renderer::ProceduralPtr proc )
override;
263 void instanceEnd()
override;
264 void instance(
const std::string &name )
override;
284 void editEnd()
override;
288 friend class RendererImplementation;
290 Renderer( RendererImplementationPtr implementation );
292 RendererImplementationPtr m_implementation;
300 #endif // IECORERI_RENDERER_H
The IECoreRI namespace holds all the functionality implemented in libIECoreRI.
Definition: IECoreRI.h:41
Definition: Renderer.h:93
Definition: Renderer.h:54
std::map< InternedString, DataPtr > CompoundDataMap
The type of Data held by the CompoundData typedef.
Definition: CompoundDataBase.h:46
std::map< std::string, PrimitiveVariable > PrimitiveVariableMap
A simple type to hold named PrimitiveVariables.
Definition: PrimitiveVariable.h:107