#include <MeshPrimitive.h>

Public Member Functions | |
| IE_CORE_DECLAREOBJECT (MeshPrimitive, Primitive) | |
| MeshPrimitive () | |
| Construct a MeshPrimitive with no faces. | |
| MeshPrimitive (ConstIntVectorDataPtr verticesPerFace, ConstIntVectorDataPtr vertexIds, const std::string &interpolation="linear", V3fVectorDataPtr p=0) | |
| virtual size_t | variableSize (PrimitiveVariable::Interpolation interpolation) const |
| virtual void | render (Renderer *renderer) const |
| Render the mesh. | |
Topology access | |
These functions allow access to get and set topology after construction. | |
| size_t | numFaces () const |
| const IntVectorData * | verticesPerFace () const |
| const IntVectorData * | vertexIds () const |
| const std::string & | interpolation () const |
| virtual void | setTopology (ConstIntVectorDataPtr verticesPerFace, ConstIntVectorDataPtr vertexIds, const std::string &interpolation="linear") |
| void | setInterpolation (const std::string &interpolation) |
| PolygonIterator | faceBegin () |
| PolygonIterator | faceEnd () |
Static Public Member Functions | |
| static MeshPrimitivePtr | createBox (const Imath::Box3f &b) |
| static MeshPrimitivePtr | createPlane (const Imath::Box2f &b) |
| MeshPrimitive::MeshPrimitive | ( | ) |
Construct a MeshPrimitive with no faces.
| MeshPrimitive::MeshPrimitive | ( | ConstIntVectorDataPtr | verticesPerFace, | |
| ConstIntVectorDataPtr | vertexIds, | |||
| const std::string & | interpolation = "linear", |
|||
| V3fVectorDataPtr | p = 0 | |||
| ) |
Construct a MeshPrimitive. The number of faces specified by verticesPerFace->readable()->size(). Copies of the IntVectorData objects are taken rather than references to the initial data.
References setTopology(), IECore::Primitive::variables, and IECore::PrimitiveVariable::Vertex.
| static MeshPrimitivePtr IECore::MeshPrimitive::createBox | ( | const Imath::Box3f & | b | ) | [static] |
Creates a box mesh.
| static MeshPrimitivePtr IECore::MeshPrimitive::createPlane | ( | const Imath::Box2f & | b | ) | [static] |
Creates a plane at z=0, with the geometric normal facing down positive z.
| PolygonIterator MeshPrimitive::faceBegin | ( | ) |
Referenced by IECore::FaceAreaOp::modifyTypedPrimitive().
| PolygonIterator MeshPrimitive::faceEnd | ( | ) |
Referenced by IECore::FaceAreaOp::modifyTypedPrimitive().
| IECore::MeshPrimitive::IE_CORE_DECLAREOBJECT | ( | MeshPrimitive | , | |
| Primitive | ||||
| ) |
| const std::string & MeshPrimitive::interpolation | ( | ) | const |
Referenced by IECore::MeshMergeOp::modifyTypedPrimitive().
| size_t MeshPrimitive::numFaces | ( | ) | const |
| void MeshPrimitive::render | ( | Renderer * | renderer | ) | const [virtual] |
Render the mesh.
Implements IECore::Renderable.
References IECore::Renderer::mesh(), and IECore::Primitive::variables.
| void MeshPrimitive::setInterpolation | ( | const std::string & | interpolation | ) |
| void MeshPrimitive::setTopology | ( | ConstIntVectorDataPtr | verticesPerFace, | |
| ConstIntVectorDataPtr | vertexIds, | |||
| const std::string & | interpolation = "linear" | |||
| ) | [virtual] |
| size_t MeshPrimitive::variableSize | ( | PrimitiveVariable::Interpolation | interpolation | ) | const [virtual] |
Returns the number of values a piece of data must provide for the given interpolation type. Must be implemented in all derived classes.
Implements IECore::Primitive.
References IECore::PrimitiveVariable::Constant, IECore::PrimitiveVariable::FaceVarying, IECore::PrimitiveVariable::Uniform, IECore::PrimitiveVariable::Varying, and IECore::PrimitiveVariable::Vertex.
Referenced by IECore::SmoothSmoothSkinningWeightsOp::modify(), IECore::ContrastSmoothSkinningWeightsOp::modify(), IECore::MeshVertexReorderOp::modifyTypedPrimitive(), IECore::MeshMergeOp::modifyTypedPrimitive(), IECore::MeshDistortionsOp::modifyTypedPrimitive(), and IECore::FaceAreaOp::modifyTypedPrimitive().
| const IntVectorData * MeshPrimitive::vertexIds | ( | ) | const |
Referenced by IECoreHoudini::ToHoudiniPolygonsConverter::doConversion(), IECore::SmoothSmoothSkinningWeightsOp::modify(), IECore::MeshVertexReorderOp::modifyTypedPrimitive(), IECore::MeshTangentsOp::modifyTypedPrimitive(), IECore::MeshNormalsOp::modifyTypedPrimitive(), IECore::MeshMergeOp::modifyTypedPrimitive(), IECore::MeshDistortionsOp::modifyTypedPrimitive(), IECore::FaceVaryingPromotionOp::modifyTypedPrimitive(), IECore::UniformRandomPointDistributionOp::UniformRandomPointDistributionOp::DistributeFn::operator()(), and IECore::TriangulateOp::TriangulateOp::TriangulateFn::operator()().
| const IntVectorData * MeshPrimitive::verticesPerFace | ( | ) | const |
Referenced by IECoreHoudini::ToHoudiniPolygonsConverter::doConversion(), IECore::SmoothSmoothSkinningWeightsOp::modify(), IECore::TriangulateOp::modifyTypedPrimitive(), IECore::MeshVertexReorderOp::modifyTypedPrimitive(), IECore::MeshTangentsOp::modifyTypedPrimitive(), IECore::MeshNormalsOp::modifyTypedPrimitive(), IECore::MeshMergeOp::modifyTypedPrimitive(), IECore::MeshDistortionsOp::modifyTypedPrimitive(), IECore::FaceVaryingPromotionOp::modifyTypedPrimitive(), and IECore::TriangulateOp::TriangulateOp::TriangulateFn::operator()().
1.5.8