65 typedef INFO info_type;
79 const std::string &iName,
84 : Abc::
OSchema<info_type>( iParent, iName, iArg0, iArg1, iArg2, iArg3 )
86 AbcA::TimeSamplingPtr tsPtr =
87 Abc::GetTimeSampling( iArg0, iArg1, iArg2, iArg3 );
89 Abc::GetTimeSamplingIndex( iArg0, iArg1, iArg2, iArg3 );
95 tsIndex = iParent->getObject()->getArchive()->addTimeSampling(
100 init( tsIndex, Abc::IsSparse( iArg0, iArg1, iArg2, iArg3 ) );
103 virtual void reset ()
105 m_selfBoundsProperty.
reset();
106 m_childBoundsProperty.
reset();
107 m_arbGeomParams.
reset();
108 m_userProperties.
reset();
112 virtual bool valid()
const
121 ALEMBIC_ABC_SAFE_CALL_BEGIN(
"OGeomBaseSchema::getArbGeomParams()" );
123 if ( ! m_arbGeomParams )
129 return m_arbGeomParams;
131 ALEMBIC_ABC_SAFE_CALL_END();
133 Abc::OCompoundProperty ret;
137 Abc::OCompoundProperty getUserProperties()
141 ALEMBIC_ABC_SAFE_CALL_BEGIN(
"OGeomBaseSchema::getUserProperties()" );
143 if ( ! m_userProperties )
145 m_userProperties = Abc::OCompoundProperty( this->
getPtr(),
149 return m_userProperties;
151 ALEMBIC_ABC_SAFE_CALL_END();
153 Abc::OCompoundProperty ret;
157 Abc::OBox3dProperty getChildBoundsProperty()
160 ALEMBIC_ABC_SAFE_CALL_BEGIN(
161 "OGeomBaseSchema::getChildBoundsProperty()" );
163 if ( ! m_childBoundsProperty )
165 AbcA::CompoundPropertyWriterPtr _this = this->
getPtr();
170 m_childBoundsProperty = Abc::OBox3dProperty( _this,
171 ".childBnds", m_selfBoundsProperty.getTimeSampling() );
175 ALEMBIC_ABC_SAFE_CALL_END();
176 return m_childBoundsProperty;
181 void init( uint32_t iTsIndex,
bool isSparse)
183 ALEMBIC_ABC_SAFE_CALL_BEGIN(
"OGeomBaseSchema::init()" );
190 ALEMBIC_ABC_SAFE_CALL_END_RESET();
196 ALEMBIC_ABC_SAFE_CALL_BEGIN(
"OGeomBaseSchema::createSelfBoundsProperty()" );
198 if ( m_selfBoundsProperty.valid() )
203 m_selfBoundsProperty = Abc::OBox3dProperty( this->
getPtr(),
".selfBnds",
207 for (
size_t i = 0; i < iNumSamples; ++i )
209 m_selfBoundsProperty.set( bnds );
211 ALEMBIC_ABC_SAFE_CALL_END();
215 Abc::OBox3dProperty m_selfBoundsProperty;
216 Abc::OBox3dProperty m_childBoundsProperty;
OGeomBaseSchema(AbcA::CompoundPropertyWriterPtr iParent, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument(), const Argument &iArg3=Argument())
Definition OGeomBase.h:78