37#ifndef Alembic_AbcGeom_OPolyMesh_h
38#define Alembic_AbcGeom_OPolyMesh_h
80 const OV2fGeomParam::Sample &iUVs = OV2fGeomParam::Sample(),
81 const ON3fGeomParam::Sample &iNormals = ON3fGeomParam::Sample() )
111 void setUVs(
const OV2fGeomParam::Sample &iUVs )
172 m_selectiveExport =
false;
174 m_timeSamplingIndex = 0;
184 const std::string &iName,
197 const std::string &iName,
219 if( m_positionsProperty.valid() )
221 return m_positionsProperty.getTimeSampling();
225 return getObject().getArchive().getTimeSampling( 0 );
236 {
return m_numSamples; }
259 m_positionsProperty.reset();
260 m_velocitiesProperty.reset();
261 m_indicesProperty.reset();
262 m_countsProperty.reset();
264 m_normalsParam.reset();
276 m_positionsProperty.valid() &&
277 m_indicesProperty.valid() &&
278 m_countsProperty.valid() ) ) ||
298 void init( uint32_t iTsIdx,
bool isSparse );
303 void selectiveSet(
const Sample &iSamp );
311 std::map <std::string, OFaceSet> m_faceSets;
317 std::string m_uvSourceName;
321 bool m_selectiveExport;
326 uint32_t m_timeSamplingIndex;
328 void createPositionsProperty();
330 void createVelocitiesProperty();
332 void createUVsProperty(
const Sample &iSamp );
334 void createNormalsProperty(
const Sample &iSamp );
virtual bool valid() const
Sample(const Abc::P3fArraySample &iPos, const Abc::Int32ArraySample &iInd, const Abc::Int32ArraySample &iCnt, const OV2fGeomParam::Sample &iUVs=OV2fGeomParam::Sample(), const ON3fGeomParam::Sample &iNormals=ON3fGeomParam::Sample())
bool isPartialSample() const
Sample(const Abc::P3fArraySample &iPos)
void setFaceCounts(const Abc::Int32ArraySample &iCnt)
const ON3fGeomParam::Sample & getNormals() const
const Abc::Int32ArraySample & getFaceIndices() const
const Abc::P3fArraySample & getPositions() const
const Abc::Int32ArraySample & getFaceCounts() const
void setNormals(const ON3fGeomParam::Sample &iNormals)
const Abc::V3fArraySample & getVelocities() const
OV2fGeomParam::Sample m_uvs
void setFaceIndices(const Abc::Int32ArraySample &iSmp)
void setUVs(const OV2fGeomParam::Sample &iUVs)
const Abc::Box3d & getSelfBounds() const
void setPositions(const Abc::P3fArraySample &iSmp)
Abc::Int32ArraySample m_counts
ON3fGeomParam::Sample m_normals
void setSelfBounds(const Abc::Box3d &iBnds)
Abc::P3fArraySample m_positions
const OV2fGeomParam::Sample & getUVs() const
void setVelocities(const Abc::V3fArraySample &iVelocities)
Abc::V3fArraySample m_velocities
Abc::Int32ArraySample m_indices
AbcA::TimeSamplingPtr getTimeSampling() const
Default assignment operator used.
OPolyMeshSchema(const OPolyMeshSchema &iCopy)
Copy constructor.
OFaceSet & createFaceSet(const std::string &iFaceSetName)
size_t getNumSamples() const
void getFaceSetNames(std::vector< std::string > &oFaceSetNames)
Appends the names of any FaceSets for this PolyMesh.
void set(const Sample &iSamp)
OFaceSet getFaceSet(const std::string &iFaceSetName)
void setUVSourceName(const std::string &iName)
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
OPolyMeshSchema this_type
OPolyMeshSchema(AbcA::CompoundPropertyWriterPtr iParent, const std::string &iName, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument(), const Abc::Argument &iArg2=Abc::Argument(), const Abc::Argument &iArg3=Abc::Argument())
void setTimeSampling(uint32_t iIndex)
ALEMBIC_OVERRIDE_OPERATOR_BOOL(OPolyMeshSchema::valid())
bool hasFaceSet(const std::string &iFaceSetName)
OPolyMeshSchema(Abc::OCompoundProperty iParent, const std::string &iName, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument(), const Abc::Argument &iArg2=Abc::Argument())
OObject getObject() const
Abc::OSchemaObject< OPolyMeshSchema > OPolyMesh
Abc::OSchemaObject< OFaceSetSchema > OFaceSet
OTypedGeomParam< V2fTPTraits > OV2fGeomParam
OTypedGeomParam< N3fTPTraits > ON3fGeomParam
Util::shared_ptr< OPolyMesh > OPolyMeshPtr
TypedArraySample< V3fTPTraits > V3fArraySample
OTypedArrayProperty< Int32TPTraits > OInt32ArrayProperty
TypedArraySample< P3fTPTraits > P3fArraySample
TypedArraySample< Int32TPTraits > Int32ArraySample
OTypedArrayProperty< P3fTPTraits > OP3fArrayProperty
OTypedArrayProperty< V3fTPTraits > OV3fArrayProperty