37 #ifndef Alembic_AbcGeom_INuPatch_h
38 #define Alembic_AbcGeom_INuPatch_h
64 int32_t
getNumU()
const {
return m_numU; }
65 int32_t
getNumV()
const {
return m_numV; }
91 return m_positions && m_numU && m_numV && m_uOrder && m_vOrder &&
100 m_velocities.reset();
107 m_positionWeights.reset();
109 m_selfBounds.makeEmpty();
113 m_trimNumCurves.reset();
114 m_trimNumVertices.reset();
174 m_hasTrimCurve =
false;
196 init( iArg0, iArg1 );
209 init( iArg0, iArg1 );
217 {
return m_positionsProperty.getNumSamples(); }
230 return m_positionsProperty.getTimeSampling();
233 void get( sample_type &oSample,
249 return m_velocitiesProperty;
255 return m_positionWeightsProperty;
260 return m_normalsParam;
270 bool trimCurveTopologyIsHomogenous()
const;
271 bool trimCurveTopologyIsConstant()
const;
284 m_positionsProperty.reset();
285 m_velocitiesProperty.reset();
286 m_numUProperty.reset();
287 m_numVProperty.reset();
288 m_uOrderProperty.reset();
289 m_vOrderProperty.reset();
290 m_uKnotProperty.reset();
291 m_vKnotProperty.reset();
292 m_positionWeightsProperty.reset();
294 m_normalsParam.reset();
298 m_trimNumLoopsProperty.reset();
299 m_trimNumCurvesProperty.reset();
300 m_trimNumVerticesProperty.reset();
301 m_trimOrderProperty.reset();
302 m_trimKnotProperty.reset();
303 m_trimMinProperty.reset();
304 m_trimMaxProperty.reset();
305 m_trimUProperty.reset();
306 m_trimVProperty.reset();
307 m_trimWProperty.reset();
317 m_positionsProperty.
valid() &&
318 m_numUProperty.valid() &&
319 m_numVProperty.valid() &&
320 m_uOrderProperty.valid() &&
321 m_vOrderProperty.valid() &&
322 m_uKnotProperty.valid() &&
323 m_vKnotProperty.valid() );
331 bool hasTrimProps()
const;
Abc::P3fArraySamplePtr m_positions
#define ALEMBIC_OPERATOR_BOOL(PASS_COND)
Abc::Int32ArraySamplePtr m_trimNumVertices
Abc::FloatArraySamplePtr m_uKnot
Abc::FloatArraySamplePtr getTrimKnots() const
Alembic::Util::shared_ptr< Int32ArraySample > Int32ArraySamplePtr
Abc::P3fArraySamplePtr getPositions() const
Sample getValue(const Abc::ISampleSelector &iSS=Abc::ISampleSelector()) const
Alembic::Util::shared_ptr< V3fArraySample > V3fArraySamplePtr
Abc::FloatArraySamplePtr getTrimW() const
Abc::IInt32Property m_numUProperty
GLsizei const GLchar *const * string
Util::shared_ptr< INuPatch > INuPatchPtr
Abc::IInt32ArrayProperty m_trimNumCurvesProperty
Abc::IFloatArrayProperty m_trimVProperty
int32_t getTrimNumLoops() const
Abc::IP3fArrayProperty m_positionsProperty
AbcA::TimeSamplingPtr getTimeSampling() const
Time information.
Abc::Int32ArraySamplePtr m_trimNumCurves
Abc::Int32ArraySamplePtr getTrimNumCurves() const
Abc::Box3d getSelfBounds() const
Abc::FloatArraySamplePtr getTrimMins() const
Abc::Int32ArraySamplePtr getTrimOrders() const
Abc::IInt32Property m_vOrderProperty
IN3fGeomParam m_normalsParam
Abc::FloatArraySamplePtr m_trimW
Alembic::Util::shared_ptr< FloatArraySample > FloatArraySamplePtr
Abc::IInt32Property m_numVProperty
Abc::IFloatArrayProperty m_trimUProperty
Abc::FloatArraySamplePtr getUKnot() const
bool hasTrimCurve() const
Abc::FloatArraySamplePtr m_trimKnot
Abc::FloatArraySamplePtr m_trimU
Abc::FloatArraySamplePtr m_trimMin
Abc::IInt32ArrayProperty m_trimNumVerticesProperty
Abc::IFloatArrayProperty m_vKnotProperty
Alembic::Util::shared_ptr< TimeSampling > TimeSamplingPtr
Abc::FloatArraySamplePtr getPositionWeights() const
Abc::IFloatArrayProperty m_trimWProperty
Abc::IFloatArrayProperty getUKnotsProperty() const
virtual bool valid() const
Abc::IFloatArrayProperty m_positionWeightsProperty
INuPatchSchema(const ICompoundProperty &iProp, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument())
Abc::FloatArraySamplePtr getVKnot() const
Abc::FloatArraySamplePtr m_vKnot
Abc::V3fArraySamplePtr getVelocities() const
Abc::IFloatArrayProperty m_trimMaxProperty
Abc::IFloatArrayProperty m_uKnotProperty
Abc::FloatArraySamplePtr m_trimV
INuPatchSchema(const ICompoundProperty &iParent, const std::string &iName, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument())
Abc::IV3fArrayProperty m_velocitiesProperty
#define ALEMBIC_OVERRIDE_OPERATOR_BOOL(PASS_COND)
Abc::IV3fArrayProperty getVelocitiesProperty() const
Abc::IInt32Property m_uOrderProperty
Abc::FloatArraySamplePtr getTrimU() const
Abc::FloatArraySamplePtr m_trimMax
int32_t getVOrder() const
Box< V3d > Box3d
3D box of base type double.
size_t getNumSamples() const
Abc::IInt32ArrayProperty m_trimOrderProperty
IN3fGeomParam getNormalsParam() const
Abc::IFloatArrayProperty getPositionWeightsProperty() const
Abc::FloatArraySamplePtr m_positionWeights
Abc::ISchemaObject< INuPatchSchema > INuPatch
INuPatchSchema(const INuPatchSchema &iCopy)
copy constructor
Abc::FloatArraySamplePtr getTrimV() const
Abc::IInt32Property m_trimNumLoopsProperty
IV2fGeomParam getUVsParam() const
Abc::V3fArraySamplePtr m_velocities
Abc::Int32ArraySamplePtr m_trimOrder
int32_t getUOrder() const
Abc::FloatArraySamplePtr getTrimMaxes() const
bool hasTrimCurve() const
Abc::IFloatArrayProperty getVKnotsProperty() const
Abc::IFloatArrayProperty m_trimMinProperty
Abc::Int32ArraySamplePtr getTrimNumVertices() const
Abc::IP3fArrayProperty getPositionsProperty() const
Abc::IFloatArrayProperty m_trimKnotProperty
Alembic::Util::shared_ptr< P3fArraySample > P3fArraySamplePtr
#define ALEMBIC_VERSION_NS
INuPatchSchema()
The default constructor.