37 #ifndef Alembic_AbcGeom_ISubD_h
38 #define Alembic_AbcGeom_ISubD_h
73 {
return m_faceVaryingInterpolateBoundary; }
76 {
return m_faceVaryingPropagateCorners; }
79 {
return m_interpolateBoundary; }
83 {
return m_creaseIndices; }
86 {
return m_creaseLengths; }
89 {
return m_creaseSharpnesses; }
93 {
return m_cornerIndices; }
96 {
return m_cornerSharpnesses; }
103 {
return m_subdScheme; }
112 return m_positions && m_faceIndices && m_faceCounts;
118 m_velocities.reset();
119 m_faceIndices.reset();
120 m_faceCounts.reset();
122 m_faceVaryingInterpolateBoundary = 0;
123 m_faceVaryingPropagateCorners = 0;
124 m_interpolateBoundary = 0;
126 m_creaseIndices.reset();
127 m_creaseLengths.reset();
128 m_creaseSharpnesses.reset();
130 m_cornerIndices.reset();
131 m_cornerSharpnesses.reset();
135 m_subdScheme =
"catmull-clark";
137 m_selfBounds.makeEmpty();
190 m_faceSetsLoaded =
false;
206 init( iArg0, iArg1 );
218 init( iArg0, iArg1 );
239 size_t getNumSamples()
const;
244 if ( m_positionsProperty.valid() )
246 return m_positionsProperty.getTimeSampling();
250 return getObject().getArchive().getTimeSampling( 0 );
254 void get( Sample &iSamp,
265 {
return m_faceCountsProperty; }
267 {
return m_faceIndicesProperty; }
269 {
return m_positionsProperty; }
272 {
return m_faceVaryingInterpolateBoundaryProperty; }
275 {
return m_faceVaryingPropagateCornersProperty; }
278 {
return m_interpolateBoundaryProperty; }
281 {
return m_creaseIndicesProperty; }
283 {
return m_creaseLengthsProperty; }
285 {
return m_creaseSharpnessesProperty; }
288 {
return m_cornerIndicesProperty; }
290 {
return m_cornerSharpnessesProperty; }
295 {
return m_subdSchemeProperty; }
298 {
return m_velocitiesProperty; }
315 m_positionsProperty.reset();
316 m_velocitiesProperty.reset();
317 m_faceIndicesProperty.reset();
318 m_faceCountsProperty.reset();
320 m_faceVaryingInterpolateBoundaryProperty.reset();
321 m_faceVaryingPropagateCornersProperty.reset();
322 m_interpolateBoundaryProperty.reset();
324 m_creaseIndicesProperty.reset();
325 m_creaseLengthsProperty.reset();
326 m_creaseSharpnessesProperty.reset();
328 m_cornerIndicesProperty.reset();
329 m_cornerSharpnessesProperty.reset();
331 m_holesProperty.reset();
333 m_subdSchemeProperty.reset();
345 m_positionsProperty.
valid() &&
346 m_faceIndicesProperty.valid() &&
347 m_faceCountsProperty.valid() );
352 void getFaceSetNames( std::vector <std::string> &oFaceSetNames );
354 bool hasFaceSet(
const std::string &iFaceSetName );
405 void loadFaceSetNames();
#define ALEMBIC_OPERATOR_BOOL(PASS_COND)
Abc::IInt32Property getFaceVaryingPropagateCornersProperty() const
Abc::Int32ArraySamplePtr getFaceCounts() const
Abc::Int32ArraySamplePtr m_faceCounts
Alembic::Util::shared_ptr< Int32ArraySample > Int32ArraySamplePtr
Abc::Int32ArraySamplePtr getHoles() const
Abc::V3fArraySamplePtr m_velocities
Abc::IP3fArrayProperty m_positionsProperty
Alembic::Util::shared_ptr< V3fArraySample > V3fArraySamplePtr
Sample()
Users never create this data directly.
int32_t m_faceVaryingInterpolateBoundary
GLsizei const GLchar *const * string
ISubDSchema(const ISubDSchema &iCopy)
Abc::Int32ArraySamplePtr getCreaseLengths() const
Alembic::Util::mutex m_faceSetsMutex
ISubDSchema(const ICompoundProperty &iProp, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument())
int32_t getFaceVaryingPropagateCorners() const
Abc::IFloatArrayProperty m_cornerSharpnessesProperty
Abc::IInt32Property m_faceVaryingPropagateCornersProperty
Abc::IStringProperty getSubdivisionSchemeProperty() const
Abc::IInt32ArrayProperty m_creaseIndicesProperty
Abc::Int32ArraySamplePtr getFaceIndices() const
Abc::IInt32ArrayProperty m_holesProperty
Sample getValue(const Abc::ISampleSelector &iSS=Abc::ISampleSelector()) const
ISubDSchema(const ICompoundProperty &iParent, const std::string &iName, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument())
Alembic::Util::shared_ptr< FloatArraySample > FloatArraySamplePtr
Abc::Int32ArraySamplePtr getCreaseIndices() const
Abc::IInt32Property m_faceVaryingInterpolateBoundaryProperty
Abc::FloatArraySamplePtr getCreaseSharpnesses() const
Util::shared_ptr< ISubD > ISubDPtr
IV2fGeomParam getUVsParam() const
Abc::V3fArraySamplePtr getVelocities() const
Abc::IInt32ArrayProperty getHolesProperty() const
Abc::FloatArraySamplePtr m_creaseSharpnesses
int32_t getFaceVaryingInterpolateBoundary() const
Alembic::Util::shared_ptr< TimeSampling > TimeSamplingPtr
Abc::IInt32ArrayProperty getCornerIndicesProperty() const
int32_t m_faceVaryingPropagateCorners
virtual bool valid() const
Abc::Int32ArraySamplePtr m_creaseIndices
Abc::IV3fArrayProperty getVelocitiesProperty() const
Abc::IFloatArrayProperty m_creaseSharpnessesProperty
Abc::Int32ArraySamplePtr m_faceIndices
std::string getSubdivisionScheme() const
#define ALEMBIC_OVERRIDE_OPERATOR_BOOL(PASS_COND)
int32_t m_interpolateBoundary
Abc::ISchemaObject< ISubDSchema > ISubD
Abc::IInt32Property m_interpolateBoundaryProperty
Abc::IInt32Property getInterpolateBoundaryProperty() const
int32_t getInterpolateBoundary() const
Abc::IInt32ArrayProperty m_cornerIndicesProperty
Abc::IInt32ArrayProperty getCreaseLengthsProperty() const
AbcA::TimeSamplingPtr getTimeSampling() const
Return the time sampling.
Abc::IInt32ArrayProperty m_creaseLengthsProperty
Abc::IInt32ArrayProperty m_faceIndicesProperty
Box< V3d > Box3d
3D box of base type double.
Abc::P3fArraySamplePtr getPositions() const
Abc::P3fArraySamplePtr m_positions
Abc::IInt32ArrayProperty getCreaseIndicesProperty() const
Abc::FloatArraySamplePtr getCornerSharpnesses() const
LeafData & operator=(const LeafData &)=delete
Abc::FloatArraySamplePtr m_cornerSharpnesses
Abc::Int32ArraySamplePtr m_creaseLengths
Abc::IP3fArrayProperty getPositionsProperty() const
Abc::Box3d getSelfBounds() const
Abc::IFloatArrayProperty getCornerSharpnessesProperty() const
Abc::IInt32ArrayProperty getFaceIndicesProperty() const
bool isConstant() const
if isConstant() is true, the mesh contains no time-varying values
Abc::IInt32ArrayProperty getFaceCountsProperty() const
Abc::Int32ArraySamplePtr m_cornerIndices
ITypedArrayProperty< V3fTPTraits > IV3fArrayProperty
Abc::IFloatArrayProperty getCreaseSharpnessesProperty() const
std::map< std::string, IFaceSet > m_faceSets
Abc::Int32ArraySamplePtr getCornerIndices() const
Abc::IInt32ArrayProperty m_faceCountsProperty
Abc::IInt32Property getFaceVaryingInterpolateBoundaryProperty() const
Abc::Int32ArraySamplePtr m_holes
IV3fArrayProperty m_velocitiesProperty
Abc::IStringProperty m_subdSchemeProperty
Alembic::Util::shared_ptr< P3fArraySample > P3fArraySamplePtr
#define ALEMBIC_VERSION_NS