36#ifndef Alembic_Abc_OTypedScalarProperty_h
37#define Alembic_Abc_OTypedScalarProperty_h
48template <
class TRAITS>
63 return TRAITS::interpretation();
72 return ( iMetaData.
get(
"interpretation" ) ==
83 TRAITS::dataType().getPod() &&
85 TRAITS::dataType().getExtent() ||
104 const std::string &iName,
111 init( iParent, iName, iArg0, iArg1, iArg2, iArg3 );
119 const std::string &iName,
126 iArg0, iArg1, iArg2 );
139 "OTypedScalarProperty::OTypedScalarProperty()" );
145 "Incorrect match of header datatype: "
148 << TRAITS::dataType()
149 <<
",\n...or incorrect match of interpretation: "
152 << TRAITS::interpretation() );
181 const std::string &iName,
197 ABCA_ASSERT( iParent,
"NULL CompoundPropertyWriterPtr" );
214 tsIndex = iParent->getObject()->getArchive()->addTimeSampling(
218 m_property = iParent->createScalarProperty( iName, mdata,
219 TRAITS::dataType(), tsIndex );
#define ABCA_ASSERT(COND, TEXT)
#define ALEMBIC_ABC_SAFE_CALL_BEGIN(CONTEXT)
#define ALEMBIC_ABC_SAFE_CALL_END_RESET()
#define ALEMBIC_VERSION_NS
uint8_t getExtent() const
PlainOldDataType getPod() const
void setInto(Arguments &iArgs) const
const AbcA::MetaData & getMetaData() const
uint32_t getTimeSamplingIndex() const
ErrorHandler::Policy getErrorHandlerPolicy() const
AbcA::TimeSamplingPtr getTimeSampling() const
ErrorHandler & getErrorHandler() const
void setPolicy(Policy iPolicy)
AbcA::ScalarPropertyWriterPtr m_property
void set(const void *iSample)
TRAITS::value_type value_type
OTypedScalarProperty< TRAITS > this_type
static const char * getInterpretation()
static bool matches(const AbcA::PropertyHeader &iHeader, SchemaInterpMatching iMatching=kStrictMatching)
OTypedScalarProperty(AbcA::ScalarPropertyWriterPtr iProp, WrapExistingFlag iWrapFlag, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
OTypedScalarProperty(AbcA::ScalarPropertyWriterPtr iProp, const Argument &iArg0=Argument(), const Argument &iArg1=Argument())
OTypedScalarProperty(OCompoundProperty iParent, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument())
OTypedScalarProperty(AbcA::CompoundPropertyWriterPtr iParent, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument(), const Argument &iArg3=Argument())
void set(const value_type &iVal)
static bool matches(const AbcA::MetaData &iMetaData, SchemaInterpMatching iMatching=kStrictMatching)
Alembic::Util::shared_ptr< CompoundPropertyWriter > CompoundPropertyWriterPtr
Alembic::Util::shared_ptr< TimeSampling > TimeSamplingPtr
Alembic::Util::shared_ptr< ScalarPropertyWriter > ScalarPropertyWriterPtr
OTypedScalarProperty< M33dTPTraits > OM33dProperty
OTypedScalarProperty< Box2dTPTraits > OBox2dProperty
OTypedScalarProperty< M44dTPTraits > OM44dProperty
OTypedScalarProperty< C3hTPTraits > OC3hProperty
OTypedScalarProperty< C4hTPTraits > OC4hProperty
OTypedScalarProperty< V3dTPTraits > OV3dProperty
OTypedScalarProperty< P3iTPTraits > OP3iProperty
OTypedScalarProperty< N3dTPTraits > ON3dProperty
OTypedScalarProperty< C3cTPTraits > OC3cProperty
OTypedScalarProperty< N3fTPTraits > ON3fProperty
OTypedScalarProperty< Float32TPTraits > OFloatProperty
OTypedScalarProperty< QuatfTPTraits > OQuatfProperty
OTypedScalarProperty< Box3dTPTraits > OBox3dProperty
OTypedScalarProperty< Float64TPTraits > ODoubleProperty
OTypedScalarProperty< Box2sTPTraits > OBox2sProperty
OTypedScalarProperty< M44fTPTraits > OM44fProperty
OTypedScalarProperty< V3fTPTraits > OV3fProperty
OTypedScalarProperty< Uint64TPTraits > OUInt64Property
OTypedScalarProperty< Box2iTPTraits > OBox2iProperty
OTypedScalarProperty< C4cTPTraits > OC4cProperty
OTypedScalarProperty< Box2fTPTraits > OBox2fProperty
ErrorHandler::Policy GetErrorHandlerPolicy(SOMETHING iSomething, const Argument &iArg0, const Argument &iArg1=Argument(), const Argument &iArg2=Argument(), const Argument &iArg3=Argument())
OTypedScalarProperty< Int8TPTraits > OCharProperty
OTypedScalarProperty< Int64TPTraits > OInt64Property
OTypedScalarProperty< BooleanTPTraits > OBoolProperty
OTypedScalarProperty< Uint16TPTraits > OUInt16Property
OTypedScalarProperty< WstringTPTraits > OWstringProperty
OTypedScalarProperty< Float16TPTraits > OHalfProperty
OTypedScalarProperty< P3dTPTraits > OP3dProperty
OTypedScalarProperty< N2dTPTraits > ON2dProperty
OTypedScalarProperty< P3sTPTraits > OP3sProperty
OTypedScalarProperty< M33fTPTraits > OM33fProperty
OTypedScalarProperty< V3iTPTraits > OV3iProperty
OTypedScalarProperty< Uint8TPTraits > OUcharProperty
OTypedScalarProperty< QuatdTPTraits > OQuatdProperty
OTypedScalarProperty< Box3sTPTraits > OBox3sProperty
OTypedScalarProperty< V2sTPTraits > OV2sProperty
OTypedScalarProperty< C4fTPTraits > OC4fProperty
OTypedScalarProperty< P2fTPTraits > OP2fProperty
OTypedScalarProperty< V3sTPTraits > OV3sProperty
OTypedScalarProperty< Int16TPTraits > OInt16Property
OTypedScalarProperty< C3fTPTraits > OC3fProperty
OTypedScalarProperty< V2dTPTraits > OV2dProperty
SchemaInterpMatching GetSchemaInterpMatching(const Argument &iArg0, const Argument &iArg1=Argument(), const Argument &iArg2=Argument(), const Argument &iArg3=Argument())
OTypedScalarProperty< Box3fTPTraits > OBox3fProperty
OTypedScalarProperty< P2dTPTraits > OP2dProperty
OTypedScalarProperty< P3fTPTraits > OP3fProperty
OTypedScalarProperty< Uint32TPTraits > OUInt32Property
OTypedScalarProperty< N2fTPTraits > ON2fProperty
OTypedScalarProperty< P2sTPTraits > OP2sProperty
OTypedScalarProperty< Int32TPTraits > OInt32Property
OTypedScalarProperty< V2iTPTraits > OV2iProperty
OTypedScalarProperty< P2iTPTraits > OP2iProperty
OTypedScalarProperty< Box3iTPTraits > OBox3iProperty
OTypedScalarProperty< V2fTPTraits > OV2fProperty
OTypedScalarProperty< StringTPTraits > OStringProperty