169 const std::string &iName,
174 Arguments args( GetErrorHandlerPolicy( iParent ) );
175 iArg0.setInto( args );
176 iArg1.setInto( args );
177 iArg2.setInto( args );
179 getErrorHandler().setPolicy( args.getErrorHandlerPolicy() );
181 ALEMBIC_ABC_SAFE_CALL_BEGIN(
182 "OSchemaObject::OSchemaObject( OObject )" );
185 AbcA::ObjectWriterPtr parent = iParent.
getPtr();
187 "NULL Parent ObjectWriter in OSchemaObject ctor" );
191 AbcA::MetaData metaData = args.getMetaData();
193 SparseFlag sparseFlag = kSparse;
194 if ( !args.isSparse() )
197 metaData.set(
"schema", SCHEMA::getSchemaTitle() );
199 if ( std::string() != SCHEMA::getSchemaBaseType() )
201 metaData.set(
"schemaBaseType", SCHEMA::getSchemaBaseType() );
206 AbcA::ObjectHeader ohdr( iName, metaData );
207 m_object = parent->createChild( ohdr );
209 AbcA::TimeSamplingPtr tsPtr = args.getTimeSampling();
210 uint32_t tsIndex = args.getTimeSamplingIndex();
216 tsIndex = parent->getArchive()->addTimeSampling(*tsPtr);
219 AbcA::MetaData schemaMetaData;
220 if ( args.isSparse() && SCHEMA::replaceOnSparse() )
222 schemaMetaData.set(
"replace",
"1" );
226 m_schema = SCHEMA( m_object->getProperties(),
227 SCHEMA::getDefaultSchemaName(),
228 this->getErrorHandlerPolicy(),
233 ALEMBIC_ABC_SAFE_CALL_END_RESET();
OSchemaObject(OObject iParent, const std::string &iName, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument())
Definition OSchemaObject.h:167