37 #ifndef Alembic_AbcGeom_OPoints_h
38 #define Alembic_AbcGeom_OPoints_h
68 const OFloatGeomParam::Sample &iWidths = \
69 OFloatGeomParam::Sample() )
71 , m_velocities( iVelocities )
81 const OFloatGeomParam::Sample &iWidths = \
82 OFloatGeomParam::Sample() )
84 , m_velocities( iVelocities )
92 { m_positions = iSmp; }
102 { m_velocities = iVelocities; }
105 const OFloatGeomParam::Sample &
getWidths()
const {
return m_widths; }
106 void setWidths(
const OFloatGeomParam::Sample &iWidths )
107 { m_widths = iWidths; }
111 { m_selfBounds = iBnds; }
116 m_velocities.reset();
120 m_selfBounds.makeEmpty();
125 if( !m_positions.getData() )
158 m_selectiveExport =
false;
160 m_timeSamplingIndex = 0;
204 if( m_positionsProperty.valid() )
206 return m_positionsProperty.getTimeSampling();
210 return getObject().getArchive().getTimeSampling( 0 );
223 void set(
const Sample &iSamp );
227 void setFromPrevious( );
229 void setTimeSampling( uint32_t iIndex );
242 m_positionsProperty.reset();
243 m_idsProperty.reset();
244 m_velocitiesProperty.reset();
245 m_widthsParam.reset();
255 m_positionsProperty.
valid() &&
256 m_idsProperty.valid() )
257 || m_selectiveExport );
265 void init( uint32_t iTsIdx,
bool isSparse );
270 void selectiveSet(
const Sample &iSamp );
272 void createPositionProperty();
273 void createIdProperty();
274 void createVelocityProperty();
275 void createWidthsProperty(
const Sample &iSamp );
284 bool m_selectiveExport;
289 uint32_t m_timeSamplingIndex;
Sample(const Abc::P3fArraySample &iPos, const Abc::V3fArraySample &iVelocities=Abc::V3fArraySample(), const OFloatGeomParam::Sample &iWidths=OFloatGeomParam::Sample())
void setWidths(const OFloatGeomParam::Sample &iWidths)
virtual bool valid() const
size_t getNumSamples() const
bool isPartialSample() const
GLsizei const GLchar *const * string
void setIds(const Abc::UInt64ArraySample &iSmp)
void setSelfBounds(const Abc::Box3d &iBnds)
const Abc::V3fArraySample & getVelocities() const
void setVelocities(const Abc::V3fArraySample &iVelocities)
AbcA::TimeSamplingPtr getTimeSampling() const
Default assignment operator used.
const OFloatGeomParam::Sample & getWidths() const
Alembic::Util::shared_ptr< TimeSampling > TimeSamplingPtr
Abc::V3fArraySample m_velocities
Abc::OSchemaObject< OPointsSchema > OPoints
OPointsSchema(const OPointsSchema &iCopy)
Copy constructor.
#define ALEMBIC_OVERRIDE_OPERATOR_BOOL(PASS_COND)
void setPositions(const Abc::P3fArraySample &iSmp)
const Abc::P3fArraySample & getPositions() const
Abc::UInt64ArraySample m_ids
Box< V3d > Box3d
3D box of base type double.
Abc::P3fArraySample m_positions
Util::shared_ptr< OPoints > OPointsPtr
Sample(const Abc::P3fArraySample &iPos, const Abc::UInt64ArraySample &iId, const Abc::V3fArraySample &iVelocities=Abc::V3fArraySample(), const OFloatGeomParam::Sample &iWidths=OFloatGeomParam::Sample())
OFloatGeomParam::Sample m_widths
const Abc::UInt64ArraySample & getIds() const
#define ALEMBIC_VERSION_NS
const Abc::Box3d & getSelfBounds() const
Alembic::Util::shared_ptr< CompoundPropertyWriter > CompoundPropertyWriterPtr