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;
170 const std::string &iName,
183 const std::string &iName,
204 if( m_positionsProperty.valid() )
206 return m_positionsProperty.getTimeSampling();
210 return getObject().getArchive().getTimeSampling( 0 );
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;
#define ALEMBIC_VERSION_NS
virtual bool valid() const
const Abc::Box3d & getSelfBounds() const
void setWidths(const OFloatGeomParam::Sample &iWidths)
bool isPartialSample() const
const OFloatGeomParam::Sample & getWidths() const
Abc::P3fArraySample m_positions
const Abc::V3fArraySample & getVelocities() const
Sample(const Abc::P3fArraySample &iPos, const Abc::UInt64ArraySample &iId, const Abc::V3fArraySample &iVelocities=Abc::V3fArraySample(), const OFloatGeomParam::Sample &iWidths=OFloatGeomParam::Sample())
void setSelfBounds(const Abc::Box3d &iBnds)
OFloatGeomParam::Sample m_widths
Abc::V3fArraySample m_velocities
Sample(const Abc::P3fArraySample &iPos, const Abc::V3fArraySample &iVelocities=Abc::V3fArraySample(), const OFloatGeomParam::Sample &iWidths=OFloatGeomParam::Sample())
void setIds(const Abc::UInt64ArraySample &iSmp)
const Abc::P3fArraySample & getPositions() const
Abc::UInt64ArraySample m_ids
const Abc::UInt64ArraySample & getIds() const
void setPositions(const Abc::P3fArraySample &iSmp)
void setVelocities(const Abc::V3fArraySample &iVelocities)
ALEMBIC_OVERRIDE_OPERATOR_BOOL(OPointsSchema::valid())
void setTimeSampling(uint32_t iIndex)
void set(const Sample &iSamp)
Set a sample.
size_t getNumSamples() const
AbcA::TimeSamplingPtr getTimeSampling() const
Default assignment operator used.
OPointsSchema(const OPointsSchema &iCopy)
Copy constructor.
OPointsSchema(AbcA::CompoundPropertyWriterPtr iParent, const std::string &iName, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument(), const Abc::Argument &iArg2=Abc::Argument(), const Abc::Argument &iArg3=Abc::Argument())
OPointsSchema(Abc::OCompoundProperty iParent, const std::string &iName, const Abc::Argument &iArg0=Abc::Argument(), const Abc::Argument &iArg1=Abc::Argument(), const Abc::Argument &iArg2=Abc::Argument())
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
Alembic::Util::shared_ptr< CompoundPropertyWriter > CompoundPropertyWriterPtr
Alembic::Util::shared_ptr< TimeSampling > TimeSamplingPtr
Util::shared_ptr< OPoints > OPointsPtr
Abc::OSchemaObject< OPointsSchema > OPoints