37 #ifndef Alembic_AbcGeom_IPolyMesh_h
38 #define Alembic_AbcGeom_IPolyMesh_h
72 return m_positions && m_indices && m_counts;
81 m_selfBounds.makeEmpty();
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 );
188 m_selfBoundsProperty.get( oSample.m_selfBounds, iSS );
190 if ( m_velocitiesProperty && m_velocitiesProperty.getNumSamples() > 0 )
192 m_velocitiesProperty.get( oSample.m_velocities, iSS );
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() );
270 void getFaceSetNames (std::vector <std::string> & oFaceSetNames);
272 bool hasFaceSet(
const std::string &iFaceSetName );
295 void loadFaceSetNames();
#define ALEMBIC_OPERATOR_BOOL(PASS_COND)
AbcA::TimeSamplingPtr getTimeSampling() const
Alembic::Util::shared_ptr< Int32ArraySample > Int32ArraySamplePtr
Abc::Int32ArraySamplePtr m_indices
Alembic::Util::shared_ptr< V3fArraySample > V3fArraySamplePtr
GLsizei const GLchar *const * string
Abc::Int32ArraySamplePtr getFaceCounts() const
Abc::Int32ArraySamplePtr m_counts
Sample getValue(const Abc::ISampleSelector &iSS=Abc::ISampleSelector()) const
Abc::V3fArraySamplePtr getVelocities() const
Abc::IInt32ArrayProperty getFaceCountsProperty() const
Abc::Int32ArraySamplePtr getFaceIndices() const
Abc::V3fArraySamplePtr m_velocities
Abc::IV3fArrayProperty getVelocitiesProperty() const
Alembic::Util::shared_ptr< TimeSampling > TimeSamplingPtr
Abc::IInt32ArrayProperty getFaceIndicesProperty() const
IV2fGeomParam getUVsParam() const
Abc::IInt32ArrayProperty m_countsProperty
virtual bool valid() const
Abc::Box3d getSelfBounds() const
std::map< std::string, IFaceSet > m_faceSets
Alembic::Util::mutex m_faceSetsMutex
IPolyMeshSchema(const ICompoundProperty &iParent, const std::string &iName, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument())
#define ALEMBIC_OVERRIDE_OPERATOR_BOOL(PASS_COND)
Abc::IV3fArrayProperty m_velocitiesProperty
#define ALEMBIC_ABC_SAFE_CALL_BEGIN(CONTEXT)
Abc::ISchemaObject< IPolyMeshSchema > IPolyMesh
size_t getNumSamples() const
Box< V3d > Box3d
3D box of base type double.
Abc::IInt32ArrayProperty m_indicesProperty
#define ALEMBIC_ABC_SAFE_CALL_END()
IN3fGeomParam getNormalsParam() const
LeafData & operator=(const LeafData &)=delete
Abc::IP3fArrayProperty getPositionsProperty() const
IPolyMeshSchema this_type
Util::shared_ptr< IPolyMesh > IPolyMeshPtr
Abc::P3fArraySamplePtr getPositions() const
Abc::IP3fArrayProperty m_positionsProperty
IPolyMeshSchema(const ICompoundProperty &iProp, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument())
IPolyMeshSchema(const IPolyMeshSchema &iCopy)
Copy constructor.
Alembic::Util::shared_ptr< P3fArraySample > P3fArraySamplePtr
#define ALEMBIC_VERSION_NS
IN3fGeomParam m_normalsParam
Abc::P3fArraySamplePtr m_positions