37#ifndef Alembic_AbcGeom_IPolyMesh_h
38#define Alembic_AbcGeom_IPolyMesh_h
72 return m_positions && m_indices && m_counts;
81 m_selfBounds.makeEmpty();
118 const std::string &iName,
124 init( iArg0, iArg1 );
136 init( iArg0, iArg1 );
153 {
return m_positionsProperty.getNumSamples(); }
168 if ( m_positionsProperty.valid() )
170 return m_positionsProperty.getTimeSampling();
174 return getObject().getArchive().getTimeSampling( 0 );
184 m_positionsProperty.get( oSample.
m_positions, iSS );
185 m_indicesProperty.get( oSample.
m_indices, iSS );
186 m_countsProperty.get( oSample.
m_counts, iSS );
190 if ( m_velocitiesProperty && m_velocitiesProperty.getNumSamples() > 0 )
214 return m_normalsParam;
219 return m_countsProperty;
224 return m_indicesProperty;
229 return m_positionsProperty;
234 return m_velocitiesProperty;
247 m_positionsProperty.reset();
248 m_velocitiesProperty.reset();
249 m_indicesProperty.reset();
250 m_countsProperty.reset();
253 m_normalsParam.reset();
263 m_positionsProperty.
valid() &&
264 m_indicesProperty.valid() &&
265 m_countsProperty.valid() );
#define ALEMBIC_ABC_SAFE_CALL_END()
#define ALEMBIC_ABC_SAFE_CALL_BEGIN(CONTEXT)
#define ALEMBIC_VERSION_NS
virtual bool valid() const
Abc::Box3d getSelfBounds() const
ALEMBIC_OPERATOR_BOOL(valid())
Abc::P3fArraySamplePtr m_positions
Abc::Int32ArraySamplePtr m_indices
Abc::P3fArraySamplePtr getPositions() const
Abc::Int32ArraySamplePtr getFaceIndices() const
Abc::V3fArraySamplePtr getVelocities() const
Abc::Int32ArraySamplePtr getFaceCounts() const
Abc::V3fArraySamplePtr m_velocities
Abc::Int32ArraySamplePtr m_counts
Abc::IInt32ArrayProperty m_countsProperty
IPolyMeshSchema(const IPolyMeshSchema &iCopy)
Copy constructor.
std::map< std::string, IFaceSet > m_faceSets
IV2fGeomParam getUVsParam() const
ALEMBIC_OVERRIDE_OPERATOR_BOOL(IPolyMeshSchema::valid())
Sample getValue(const Abc::ISampleSelector &iSS=Abc::ISampleSelector()) const
MeshTopologyVariance getTopologyVariance() const
Abc::IP3fArrayProperty m_positionsProperty
void getFaceSetNames(std::vector< std::string > &oFaceSetNames)
Appends the names of any FaceSets for this PolyMesh.
Abc::IV3fArrayProperty getVelocitiesProperty() const
AbcA::TimeSamplingPtr getTimeSampling() const
Abc::IP3fArrayProperty getPositionsProperty() const
IFaceSet getFaceSet(const std::string &iFaceSetName)
IPolyMeshSchema(const ICompoundProperty &iParent, const std::string &iName, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument())
Abc::IInt32ArrayProperty getFaceIndicesProperty() const
void get(Sample &oSample, const Abc::ISampleSelector &iSS=Abc::ISampleSelector()) const
Alembic::Util::mutex m_faceSetsMutex
void init(const Abc::Argument &iArg0, const Abc::Argument &iArg1)
Abc::IInt32ArrayProperty getFaceCountsProperty() const
IPolyMeshSchema this_type
bool hasFaceSet(const std::string &iFaceSetName)
IN3fGeomParam m_normalsParam
IN3fGeomParam getNormalsParam() const
Abc::IInt32ArrayProperty m_indicesProperty
IPolyMeshSchema(const ICompoundProperty &iProp, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument())
const IPolyMeshSchema & operator=(const IPolyMeshSchema &rhs)
size_t getNumSamples() const
Abc::IV3fArrayProperty m_velocitiesProperty
Alembic::Util::shared_ptr< TimeSampling > TimeSamplingPtr
Util::shared_ptr< IPolyMesh > IPolyMeshPtr
Alembic::Util::shared_ptr< Int32ArraySample > Int32ArraySamplePtr
Alembic::Util::shared_ptr< V3fArraySample > V3fArraySamplePtr
Alembic::Util::shared_ptr< P3fArraySample > P3fArraySamplePtr