37#ifndef Alembic_AbcGeom_ONuPatch_h
38#define Alembic_AbcGeom_ONuPatch_h
74 const int32_t &iUOrder,
75 const int32_t &iVOrder,
78 const ON3fGeomParam::Sample &iNormals = ON3fGeomParam::Sample(),
79 const OV2fGeomParam::Sample &iUVs = OV2fGeomParam::Sample(),
146 void setUVs(
const OV2fGeomParam::Sample &iUVs )
328 const std::string &iName,
341 const std::string &iName,
367 return getObject().getArchive().getTimeSampling( 0 );
443 void init(
const AbcA::index_t iTsIdx,
bool isSparse );
#define ALEMBIC_EXPORT_CONST
virtual bool valid() const
int32_t getVOrder() const
Abc::V3fArraySample m_velocities
const Abc::FloatArraySample & getUKnot() const
bool hasTrimCurve() const
int32_t getTrimNumLoops() const
void setNv(const int32_t iNv)
const Abc::Int32ArraySample & getTrimNumVertices() const
Abc::FloatArraySample m_trimU
const Abc::Box3d & getSelfBounds() const
const Abc::FloatArraySample & getTrimMax() const
Abc::FloatArraySample m_trimMin
int32_t getUOrder() const
OV2fGeomParam::Sample m_uvs
void setTrimCurve(const int32_t i_trim_nLoops, const Abc::Int32ArraySample &i_trim_nCurves, const Abc::Int32ArraySample &i_trim_n, const Abc::Int32ArraySample &i_trim_order, const Abc::FloatArraySample &i_trim_knot, const Abc::FloatArraySample &i_trim_min, const Abc::FloatArraySample &i_trim_max, const Abc::FloatArraySample &i_trim_u, const Abc::FloatArraySample &i_trim_v, const Abc::FloatArraySample &i_trim_w)
const Abc::V3fArraySample & getVelocities() const
void setVKnot(const Abc::FloatArraySample &iVKnot)
const Abc::FloatArraySample & getTrimMin() const
const Abc::FloatArraySample & getTrimV() const
const Abc::FloatArraySample & getTrimKnot() const
Abc::Int32ArraySample m_trimNumVertices
Abc::Int32ArraySample m_trimNumCurves
const ON3fGeomParam::Sample & getNormals() const
void setVOrder(const int32_t iVOrder)
const Abc::P3fArraySample & getPositions() const
Abc::FloatArraySample m_positionWeights
void setNormals(const ON3fGeomParam::Sample &iNormals)
const Abc::Int32ArraySample & getTrimNumCurves() const
Abc::FloatArraySample m_trimMax
Abc::FloatArraySample m_vKnot
Sample(const Abc::P3fArraySample &iPos, const int32_t &iNumU, const int32_t &iNumV, const int32_t &iUOrder, const int32_t &iVOrder, const Abc::FloatArraySample &iUKnot, const Abc::FloatArraySample &iVKnot, const ON3fGeomParam::Sample &iNormals=ON3fGeomParam::Sample(), const OV2fGeomParam::Sample &iUVs=OV2fGeomParam::Sample(), const Abc::FloatArraySample &iPosWeight=Abc::FloatArraySample())
ON3fGeomParam::Sample m_normals
Abc::FloatArraySample m_trimW
Abc::FloatArraySample m_trimKnot
void setUVs(const OV2fGeomParam::Sample &iUVs)
bool isPartialSample() const
void setUKnot(const Abc::FloatArraySample &iUKnot)
const Abc::FloatArraySample & getTrimU() const
void setNu(const int32_t iNu)
const Abc::FloatArraySample & getVKnot() const
const OV2fGeomParam::Sample & getUVs() const
void setPositions(const Abc::P3fArraySample &iSmp)
const Abc::FloatArraySample & getTrimW() const
bool hasKnotSampleData() const
void setSelfBounds(const Abc::Box3d &iBnds)
const Abc::Int32ArraySample & getTrimOrder() const
void setPositionWeights(const Abc::FloatArraySample &iSmp)
Abc::Int32ArraySample m_trimOrder
Abc::P3fArraySample m_positions
void setVelocities(const Abc::V3fArraySample &iVelocities)
void setUOrder(const int32_t iUOrder)
const Abc::FloatArraySample & getPositionWeights() const
Abc::FloatArraySample m_trimV
Abc::FloatArraySample m_uKnot
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
ONuPatchSchema::Sample sample_type
ON3fGeomParam m_normalsParam
Abc::OInt32ArrayProperty m_trimOrderProperty
void createUVsProperty(const Sample &iSamp)
void set(const sample_type &iSamp)
Set a sample!
void createPositionWeightsProperty()
void selectiveSet(const Sample &iSamp)
Abc::OInt32Property m_uOrderProperty
void createNormalsProperty(const Sample &iSamp)
Abc::OInt32ArrayProperty m_trimNumCurvesProperty
ALEMBIC_OVERRIDE_OPERATOR_BOOL(ONuPatchSchema::valid())
Abc::OP3fArrayProperty m_positionsProperty
AbcA::TimeSamplingPtr getTimeSampling() const
ONuPatchSchema(AbcA::CompoundPropertyWriterPtr iParent, const std::string &iName, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument(), const Abc::Argument &iArg2=Abc::Argument(), const Abc::Argument &iArg3=Abc::Argument())
void createKnotProperties()
Abc::OFloatArrayProperty m_trimMinProperty
Abc::OFloatArrayProperty m_trimVProperty
Abc::OInt32Property m_trimNumLoopsProperty
void createTrimPropreties()
void setTimeSampling(uint32_t iIndex)
Abc::OInt32ArrayProperty m_trimNumVerticesProperty
void createPositionProperties()
size_t getNumSamples() const
ONuPatchSchema(Abc::OCompoundProperty iParent, const std::string &iName, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument(), const Abc::Argument &iArg2=Abc::Argument())
Abc::OInt32Property m_vOrderProperty
Abc::OFloatArrayProperty m_uKnotProperty
Abc::OFloatArrayProperty m_trimWProperty
Abc::OInt32Property m_numUProperty
Abc::OFloatArrayProperty m_trimKnotProperty
Abc::OFloatArrayProperty m_positionWeightsProperty
Abc::OV3fArrayProperty m_velocitiesProperty
Abc::OFloatArrayProperty m_vKnotProperty
Abc::OInt32Property m_numVProperty
ONuPatchSchema(const ONuPatchSchema &iCopy)
Copy constructor.
Abc::OFloatArrayProperty m_trimUProperty
void createVelocityProperty()
AbcA::index_t m_timeSamplingIndex
void init(const AbcA::index_t iTsIdx, bool isSparse)
Abc::OFloatArrayProperty m_trimMaxProperty
OObject getObject() const
OTypedGeomParam< V2fTPTraits > OV2fGeomParam
static ALEMBIC_EXPORT_CONST int32_t ABC_GEOM_NUPATCH_NULL_INT_VALUE(INT_MIN/4)
Abc::OSchemaObject< ONuPatchSchema > ONuPatch
Util::shared_ptr< ONuPatch > ONuPatchPtr
OTypedGeomParam< N3fTPTraits > ON3fGeomParam
OTypedArrayProperty< Float32TPTraits > OFloatArrayProperty
TypedArraySample< V3fTPTraits > V3fArraySample
OTypedArrayProperty< Int32TPTraits > OInt32ArrayProperty
TypedArraySample< Float32TPTraits > FloatArraySample
TypedArraySample< P3fTPTraits > P3fArraySample
TypedArraySample< Int32TPTraits > Int32ArraySample
OTypedArrayProperty< P3fTPTraits > OP3fArrayProperty
OTypedScalarProperty< Int32TPTraits > OInt32Property
OTypedArrayProperty< V3fTPTraits > OV3fArrayProperty