59 typedef Sample this_type;
64 Abc::P3fArraySamplePtr getPositions()
const {
return m_positions; }
66 std::size_t getNumCurves()
const
68 if ( m_nVertices ) {
return m_nVertices->size(); }
72 Abc::Int32ArraySamplePtr getCurvesNumVertices()
const
73 {
return m_nVertices; }
75 CurveType getType()
const {
return m_type; }
76 CurvePeriodicity getWrap()
const {
return m_wrap; }
77 BasisType getBasis()
const {
return m_basis; }
80 Abc::UcharArraySamplePtr getOrders()
const {
return m_orders; }
81 Abc::FloatArraySamplePtr getKnots()
const {
return m_knots; }
85 Abc::FloatArraySamplePtr getPositionWeights()
const
86 {
return m_positionWeights; }
88 Abc::Box3d getSelfBounds()
const {
return m_selfBounds; }
89 Abc::V3fArraySamplePtr getVelocities()
const {
return m_velocities; }
93 return m_positions.get() != 0 &&
94 (m_type != kVariableOrder || m_orders);
101 m_positionWeights.reset();
104 m_wrap = kNonPeriodic;
105 m_basis = kBezierBasis;
110 m_selfBounds.makeEmpty();
113 ALEMBIC_OPERATOR_BOOL( valid() );
116 friend class ICurvesSchema;
117 Abc::P3fArraySamplePtr m_positions;
118 Abc::V3fArraySamplePtr m_velocities;
119 Abc::FloatArraySamplePtr m_positionWeights;
121 Abc::Box3d m_selfBounds;
124 Abc::Int32ArraySamplePtr m_nVertices;
125 Abc::UcharArraySamplePtr m_orders;
126 Abc::FloatArraySamplePtr m_knots;
130 CurvePeriodicity m_wrap;
267 m_positionsProperty.reset();
268 m_velocitiesProperty.reset();
269 m_nVerticesProperty.reset();
271 m_positionWeightsProperty.reset();
272 m_ordersProperty.reset();
273 m_knotsProperty.reset();
276 m_normalsParam.reset();
277 m_widthsParam.reset();
279 m_basisAndTypeProperty.reset();
281 IGeomBaseSchema<CurvesSchemaInfo>::reset();