37#ifndef Alembic_AbcGeom_OGeomParam_h
38#define Alembic_AbcGeom_OGeomParam_h
48template <
class TRAITS>
119 return TRAITS::interpretation();
132 TRAITS::dataType().getExtent() ) ) &&
133 prop_type::matches( iHeader.
getMetaData(), iMatching );
137 return prop_type::matches( iHeader, iMatching );
147 const std::string &iName,
160 iArrayExtent, iArg0, iArg1, iArg2 );
164 const std::string &iName,
177 iArg0.setInto( args );
178 iArg1.setInto( args );
179 iArg2.setInto( args );
185 md.
set(
"isGeomParam",
"true" );
188 TRAITS::dataType().getPod() ) );
190 size_t extent = TRAITS::dataType().getExtent();
192 md.
set(
"podName", podName );
194 std::ostringstream extentStrm;
195 extentStrm << extent;
196 std::string extentStr = extentStrm.str();
197 md.
set(
"podExtent", extentStr );
199 std::ostringstream arrayExtentStrm;
200 arrayExtentStrm << iArrayExtent;
201 std::string arrayExtentStr = arrayExtentStrm.str();
202 md.
set(
"arrayExtent", arrayExtentStr );
204 md.
set(
"interpretation", TRAITS::interpretation() );
219 parent->getObject()->getArchive()->addTimeSampling(*tsPtr);
274 "OTypedGeomParam::setTimeSampling( uint32_t )" );
286 "OTypedGeomParam::setTimeSampling( TimeSamplingPtr )" );
291 m_valProp.getParent().getObject().getArchive().addTimeSampling(
#define ALEMBIC_ABC_SAFE_CALL_END()
#define ALEMBIC_ABC_SAFE_CALL_BEGIN(CONTEXT)
#define ALEMBIC_ABC_SAFE_CALL_END_RESET()
#define ALEMBIC_VERSION_NS
Sample(const Abc::TypedArraySample< TRAITS > &iVals, const Abc::UInt32ArraySample &iIndices, GeometryScope iScope)
void setIndices(const Abc::UInt32ArraySample &iIndices)
Sample(const Abc::TypedArraySample< TRAITS > &iVals, GeometryScope iScope)
const Abc::TypedArraySample< TRAITS > & getVals() const
void setScope(GeometryScope iScope)
ALEMBIC_OPERATOR_BOOL(valid())
Abc::TypedArraySample< TRAITS > m_vals
void setVals(const Abc::TypedArraySample< TRAITS > &iVals)
GeometryScope getScope() const
Abc::UInt32ArraySample m_indices
const Abc::UInt32ArraySample & getIndices() const
size_t getNumSamples() const
const std::string & getName() const
void set(const sample_type &iSamp)
OTypedGeomParam< TRAITS > this_type
prop_type getValueProperty() const
AbcA::TimeSamplingPtr getTimeSampling() const
OTypedGeomParam(OCompoundProperty iParent, const std::string &iName, bool iIsIndexed, GeometryScope iScope, size_t iArrayExtent, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument())
ALEMBIC_OPERATOR_BOOL(this_type::valid())
Abc::OCompoundProperty m_cprop
GeometryScope getScope() const
OTypedGeomParam(AbcA::CompoundPropertyWriterPtr iParent, const std::string &iName, bool iIsIndexed, GeometryScope iScope, size_t iArrayExtent, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument())
AbcA::DataType getDataType() const
static const char * getInterpretation()
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
OUInt32ArrayProperty m_indicesProperty
static bool matches(const AbcA::PropertyHeader &iHeader, SchemaInterpMatching iMatching=kStrictMatching)
OTypedArrayProperty< TRAITS > prop_type
void setTimeSampling(uint32_t iIndex)
this_type::Sample sample_type
OUInt32ArrayProperty getIndexProperty() const
TRAITS::value_type value_type
const AbcA::MetaData & getMetaData() const
uint32_t getTimeSamplingIndex() const
ErrorHandler::Policy getErrorHandlerPolicy() const
AbcA::TimeSamplingPtr getTimeSampling() const
size_t getNumSamples() const
void setTimeSampling(uint32_t iIndex)
void set(const sample_type &iVal)
Alembic::Util::shared_ptr< CompoundPropertyWriter > CompoundPropertyWriterPtr
Alembic::Util::shared_ptr< TimeSampling > TimeSamplingPtr
OTypedGeomParam< Box3iTPTraits > OBox3iGeomParam
OTypedGeomParam< N2fTPTraits > ON2fGeomParam
OTypedGeomParam< V3fTPTraits > OV3fGeomParam
OTypedGeomParam< Box2fTPTraits > OBox2fGeomParam
OTypedGeomParam< Int64TPTraits > OInt64GeomParam
OTypedGeomParam< WstringTPTraits > OWstringGeomParam
OTypedGeomParam< P2fTPTraits > OP2fGeomParam
OTypedGeomParam< V3sTPTraits > OV3sGeomParam
OTypedGeomParam< N2dTPTraits > ON2dGeomParam
OTypedGeomParam< C3hTPTraits > OC3hGeomParam
OTypedGeomParam< Box3sTPTraits > OBox3sGeomParam
OTypedGeomParam< P2iTPTraits > OP2iGeomParam
OTypedGeomParam< V2fTPTraits > OV2fGeomParam
OTypedGeomParam< Float64TPTraits > ODoubleGeomParam
OTypedGeomParam< Uint32TPTraits > OUInt32GeomParam
OTypedGeomParam< StringTPTraits > OStringGeomParam
OTypedGeomParam< Float32TPTraits > OFloatGeomParam
OTypedGeomParam< Int16TPTraits > OInt16GeomParam
OTypedGeomParam< V3dTPTraits > OV3dGeomParam
OTypedGeomParam< C3fTPTraits > OC3fGeomParam
OTypedGeomParam< C3cTPTraits > OC3cGeomParam
OTypedGeomParam< Box2iTPTraits > OBox2iGeomParam
OTypedGeomParam< Box3fTPTraits > OBox3fGeomParam
OTypedGeomParam< M44dTPTraits > OM44dGeomParam
OTypedGeomParam< P2sTPTraits > OP2sGeomParam
OTypedGeomParam< N3fTPTraits > ON3fGeomParam
OTypedGeomParam< M33dTPTraits > OM33dGeomParam
OTypedGeomParam< Float16TPTraits > OHalfGeomParam
OTypedGeomParam< V2dTPTraits > OV2dGeomParam
OTypedGeomParam< V2iTPTraits > OV2iGeomParam
OTypedGeomParam< C4cTPTraits > OC4cGeomParam
OTypedGeomParam< P3iTPTraits > OP3iGeomParam
OTypedGeomParam< QuatdTPTraits > OQuatdGeomParam
OTypedGeomParam< P3fTPTraits > OP3fGeomParam
OTypedGeomParam< Int32TPTraits > OInt32GeomParam
OTypedGeomParam< QuatfTPTraits > OQuatfGeomParam
OTypedGeomParam< BooleanTPTraits > OBoolGeomParam
OTypedGeomParam< M33fTPTraits > OM33fGeomParam
OTypedGeomParam< Box2dTPTraits > OBox2dGeomParam
OTypedGeomParam< P2dTPTraits > OP2dGeomParam
OTypedGeomParam< P3sTPTraits > OP3sGeomParam
OTypedGeomParam< Box3dTPTraits > OBox3dGeomParam
OTypedGeomParam< C4hTPTraits > OC4hGeomParam
OTypedGeomParam< V3iTPTraits > OV3iGeomParam
OTypedGeomParam< Int8TPTraits > OCharGeomParam
OTypedGeomParam< Box2sTPTraits > OBox2sGeomParam
OTypedGeomParam< Uint16TPTraits > OUInt16GeomParam
OTypedGeomParam< C4fTPTraits > OC4fGeomParam
OTypedGeomParam< N3dTPTraits > ON3dGeomParam
OTypedGeomParam< P3dTPTraits > OP3dGeomParam
OTypedGeomParam< Uint64TPTraits > OUInt64GeomParam
OTypedGeomParam< V2sTPTraits > OV2sGeomParam
OTypedGeomParam< Uint8TPTraits > OUcharGeomParam
void SetGeometryScope(AbcA::MetaData &ioMetaData, GeometryScope iScope)
OTypedGeomParam< M44fTPTraits > OM44fGeomParam
void SetPropUsePrevIfNull(PROP iProp, SAMP iSamp)
OTypedArrayProperty< Uint32TPTraits > OUInt32ArrayProperty
ErrorHandler::Policy GetErrorHandlerPolicy(SOMETHING iSomething, const Argument &iArg0, const Argument &iArg1=Argument(), const Argument &iArg2=Argument(), const Argument &iArg3=Argument())
AbcA::CompoundPropertyWriterPtr GetCompoundPropertyWriterPtr(AbcA::CompoundPropertyWriterPtr iPtr)
const char * PODName(PlainOldDataType pod)