35 #ifndef IECORE_CURVESPRIMITIVE_H
36 #define IECORE_CURVESPRIMITIVE_H
38 #include "IECore/Export.h"
39 #include "IECore/Primitive.h"
40 #include "IECore/VectorTypedData.h"
41 #include "IECore/CubicBasis.h"
55 CurvesPrimitive( ConstIntVectorDataPtr vertsPerCurve,
const CubicBasisf &basis=CubicBasisf::linear(),
bool periodic =
false, ConstV3fVectorDataPtr p =
nullptr );
60 size_t numCurves()
const;
61 const IntVectorData *verticesPerCurve()
const;
63 bool periodic()
const;
64 void setTopology( ConstIntVectorDataPtr verticesPerCurve,
const CubicBasisf &basis,
bool periodic );
66 void render(
Renderer *renderer )
const override;
73 unsigned numSegments(
unsigned curveIndex )
const;
75 static unsigned numSegments(
const CubicBasisf &basis,
bool periodic,
unsigned numVerts );
78 static Ptr createBox(
const Imath::Box3f &b );
80 void topologyHash(
MurmurHash &h )
const override;
85 static unsigned int numSegments(
bool linear,
int step,
bool periodic,
int numVerts );
90 IntVectorDataPtr m_vertsPerCurve;
92 unsigned m_numFaceVarying;
96 static const unsigned int m_ioVersion;
104 #endif // IECORE_CURVESPRIMITIVE_H
Definition: CurvesPrimitive.h:49
Definition: MurmurHash.h:64
Definition: Renderer.h:93
Interpolation
Definition: PrimitiveVariable.h:53
Definition: Primitive.h:54
This namespace contains all components of the core library.
Definition: AddSmoothSkinningInfluencesOp.h:43