37#ifndef Alembic_AbcGeom_OFaceSet_h
38#define Alembic_AbcGeom_OFaceSet_h
40#include <Alembic/Util/Export.h>
41#include <Alembic/AbcGeom/Foundation.h>
42#include <Alembic/AbcGeom/SchemaInfoDeclarations.h>
43#include <Alembic/AbcGeom/OGeomParam.h>
44#include <Alembic/AbcGeom/FaceSetExclusivity.h>
45#include <Alembic/AbcGeom/OGeomBase.h>
49namespace ALEMBIC_VERSION_NS {
76 Sample(
const Abc::Int32ArraySample &iFaceNums)
77 : m_faces( iFaceNums )
82 const Abc::Int32ArraySample &getFaces()
const {
return m_faces; }
83 void setFaces(
const Abc::Int32ArraySample &iFaces)
87 const Abc::Box3d &getSelfBounds()
const {
return m_selfBounds; }
88 void setSelfBounds(
const Abc::Box3d &iBnds )
89 { m_selfBounds = iBnds; }
95 m_selfBounds.makeEmpty();
99 Abc::Int32ArraySample m_faces;
102 Abc::Box3d m_selfBounds;
128 const std::string &iName,
141 const std::string &iName,
159 {
return m_facesProperty.getNumSamples(); }
162 void set(
const Sample &iSamp );
164 void setTimeSampling( uint32_t iTimeSamplingID );
165 void setTimeSampling( AbcA::TimeSamplingPtr iTime );
167 void setFaceExclusivity( FaceSetExclusivity iFacesExclusive );
168 FaceSetExclusivity getFaceExclusivity() {
return m_facesExclusive; }
179 m_facesProperty.reset();
181 OGeomBaseSchema<FaceSetSchemaInfo>::reset();
187 return ( OGeomBaseSchema<FaceSetSchemaInfo>::valid() &&
188 m_facesProperty.valid()
197 void _recordExclusivityHint();
199 void init( AbcA::CompoundPropertyWriterPtr iParent,
203 Abc::OInt32ArrayProperty m_facesProperty;
205 Abc::OUInt32Property m_facesExclusiveProperty;
206 FaceSetExclusivity m_facesExclusive;
215typedef Util::shared_ptr< OFaceSet > OFaceSetPtr;
217Abc::Box3d computeBoundsFromPositionsByFaces (
const Int32ArraySample & faces,
218 const Int32ArraySample & meshFaceCounts,
219 const Int32ArraySample & vertexIndices,
220 const P3fArraySample & meshP);
224using namespace ALEMBIC_VERSION_NS;
Definition Argument.h:120
Definition OCompoundProperty.h:53
Definition OSchemaObject.h:54
void reset()
Definition ArraySample.h:119
Sample(const Abc::Int32ArraySample &iFaceNums)
Definition OFaceSet.h:76
Sample()
Definition OFaceSet.h:65
OFaceSetSchema()
Definition OFaceSet.h:119
size_t getNumSamples() const
Default assignment and copy operator used.
Definition OFaceSet.h:158
OFaceSetSchema this_type
Definition OFaceSet.h:112
bool valid() const
Valid returns whether this instance holds real data.
Definition OFaceSet.h:185
void reset()
Definition OFaceSet.h:177
ALEMBIC_OVERRIDE_OPERATOR_BOOL(OFaceSetSchema::valid())
OGeomBaseSchema()
Definition OGeomBase.h:74
Alembic namespace ...
Definition ArchiveInfo.cpp:39