Alembic::AbcGeom

The AbcGeom library builds atop Abc, and is intended to be the primary layer for dealing with data with a geometric interpretation, e.g., PolyMesh or Xform.

Using the AbcGeom layer is conceptually very much like using the Abc layer but, since you are dealing in well-defined and specified higher-level types, is far less verbose. For example, to write a polygonal mesh using AbcGeom functions.

class CameraSample

Public Functions

CameraSample()

Creates a default sample with a bunch of defaults set.

CameraSample(double iTop, double iBottom, double iLeft, double iRight)

Create a default sample and set the defaults so that they calculate the provided screen window.

void getScreenWindow(double &oTop, double &oBottom, double &oLeft, double &oRight)
double getFocalLength() const

get the camera focal length in millimeters.

void setFocalLength(double iVal)

set the camera focal length in millimeters.

double getHorizontalAperture() const

get the horizontal camera film back in centimeters

void setHorizontalAperture(double iVal)

set the horizontal camera film back in centimeters

double getHorizontalFilmOffset() const

get the horizontal film back offset in centimeters

void setHorizontalFilmOffset(double iVal)

set the horizontal film back offset in centimeters

double getVerticalAperture() const

get the vertical camera film back in centimeters

void setVerticalAperture(double iVal)

set the vertical camera film back in centimeters

double getVerticalFilmOffset() const

get the vertical film back offset in centimeters

void setVerticalFilmOffset(double iVal)

set the vertical film back offset in centimeters

double getLensSqueezeRatio() const

get the amount the camera’s lens compresses the image horizontally (width / height aspect ratio)

void setLensSqueezeRatio(double iVal)

set the amount the camera’s lens compresses the image horizontally (width / height aspect ratio)

double getOverScanLeft()

get over scan fractional percentage for the left part of the screen window

void setOverScanLeft(double iVal)

set over scan fractional percentage for the left part of the screen window

double getOverScanRight() const

get over scan fractional percentage for the right part of the screen window

void setOverScanRight(double iVal)

set over scan fractional percentage for the right part of the screen window

double getOverScanTop() const

get over scan fractional percentage for the top part of the screen window

void setOverScanTop(double iVal)

get over scan fractional percentage for the top part of the screen window

double getOverScanBottom() const

get over scan fractional percentage for the bottom part of the screen window

void setOverScanBottom(double iVal)

set over scan fractional percentage for the bottom part of the screen window

double getFStop() const

get the f-stop (focal length divided by “effective” lens diameter)

void setFStop(double iVal)

set the f-stop (focal length divided by “effective” lens diameter)

double getFocusDistance() const

get the distance from the camera to the object being focused on in centimeters

void setFocusDistance(double iVal)

set the distance from the camera to the object being focused on in centimeters

double getShutterOpen() const

get the frame relative shutter open time in seconds.

void setShutterOpen(double iVal)

set the frame relative shutter open time in seconds.

double getShutterClose() const

get the frame relative shutter close time in seconds.

void setShutterClose(double iVal)

set the frame relative shutter open time in seconds.

double getNearClippingPlane() const

get the distance from the camera to the near clipping plane in centimeters

void setNearClippingPlane(double iVal)

set the distance from the camera to the near clipping plane in centimeters

double getFarClippingPlane() const

get the distance from the camera to the far clipping plane in centimeters

void setFarClippingPlane(double iVal)

set the distance from the camera to the near clipping plane in centimeters

Abc::Box3d getChildBounds() const
void setChildBounds(const Abc::Box3d &iBounds)
double getCoreValue(std::size_t iIndex) const
double getFieldOfView() const
std::size_t addOp(FilmBackXformOp iOp)
FilmBackXformOp getOp(std::size_t iIndex) const
FilmBackXformOp &operator[](const std::size_t &iIndex)
const FilmBackXformOp &operator[](const std::size_t &iIndex) const
Abc::M33d getFilmBackMatrix() const

Returns the concatenated 3x3 film back matrix.

std::size_t getNumOps() const
std::size_t getNumOpChannels() const
void reset()

Private Members

double m_focalLength
double m_horizontalAperture
double m_horizontalFilmOffset
double m_verticalAperture
double m_verticalFilmOffset
double m_lensSqueezeRatio
double m_overscanLeft
double m_overscanRight
double m_overscanTop
double m_overscanBottom
double m_fStop
double m_focusDistance
double m_shutterOpen
double m_shutterClose
double m_nearClippingPlane
double m_farClippingPlane
Abc::Box3d m_childBounds
std::vector<FilmBackXformOp> m_ops
class FilmBackXformOp
#include <FilmBackXformOp.h>

FilmBack Xform Operation This class holds the data about a particular transform operation, but does not hold the actual data to calculate a 3x3 matrix. It holds the type of operation (Translate, Scale, Matrix), a hint about the type which can be interpreted by packages like Maya, and what particular parts of the operations can change over time.

Public Functions

FilmBackXformOp()
FilmBackXformOp(const FilmBackXformOperationType iType, const std::string &iHint)
FilmBackXformOperationType getType() const

Get the type of transform operation. (Translate, Scale, Matrix).

std::string getHint() const

Get the hint to help disambiguate certain options that may have the same type.

std::string getTypeAndHint() const

Get the type and hint, where the first character is the type (t for translate, s for scale, m for matrix) and the rest of the returned string is the optional hint value.

std::size_t getNumChannels() const

Get the number of components that this operation has based on the type. Translate and Scale have 2, and Matrix has 9.

double getChannelValue(std::size_t iIndex) const

Get a single channel, 0 will be returned if iIndex is greater than numChannels - 1

void setChannelValue(std::size_t iIndex, double iVal)

Set a single channel; nothing will be set if iIndex is greater than numChannels - 1.

void setTranslate(const Abc::V2d &iTrans)
void setScale(const Abc::V2d &iScale)
void setMatrix(const Abc::M33d &iMatrix)
Abc::V2d getTranslate() const
Abc::V2d getScale() const
Abc::M33d getMatrix() const
bool isTranslateOp() const
bool isScaleOp() const
bool isMatrixOp() const

Private Functions

FilmBackXformOp(const std::string &iTypeAndHint)

Private Members

FilmBackXformOperationType m_type
std::string m_hint
std::vector<double> m_channels

Friends

friend Alembic::AbcGeom::ALEMBIC_VERSION_NS::FilmBackXformOp::ICameraSchema
class ICameraSchema

Public Types

typedef ICameraSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

Public Functions

ICameraSchema()

The default constructor creates an empty OCameraMeshSchema ...

template <class CPROP_PTR>
ICameraSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

This templated, primary constructor creates a new camera writer. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyWriterPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy, to specify MetaData, and to set TimeSampling.

template <class CPROP_PTR>
ICameraSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())
ICameraSchema(const ICameraSchema &iCopy)

Copy constructor.

AbcA::TimeSamplingPtr getTimeSampling() const

Default assignment operator used.

Return the time sampling.

size_t getNumSamples() const

Return the number of samples contained in the property. This can be any number, including zero. This returns the number of samples that were written, independently of whether or not they were constant.

bool isConstant() const

Ask if we’re constant - no change in value amongst samples, regardless of the time sampling.

void get(CameraSample &oSample, const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
CameraSample getValue(const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
ICompoundProperty getArbGeomParams() const
ICompoundProperty getUserProperties() const
Abc::IBox3dProperty getChildBoundsProperty() const
void reset()

Reset returns this function set to an empty, default state.

bool valid() const

Returns whether this function set is valid.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(ICameraSchema::valid())

unspecified-bool-type operator overload. ...

Protected Functions

void init(const Abc::Argument &iArg0, const Abc::Argument &iArg1)

Protected Attributes

Abc::IScalarProperty m_coreProperties
Abc::IBox3dProperty m_childBoundsProperty
Abc::ICompoundProperty m_arbGeomParams
Abc::ICompoundProperty m_userProperties
Abc::IScalarProperty m_smallFilmBackChannels
Abc::IDoubleArrayProperty m_largeFilmBackChannels

Private Members

std::vector<FilmBackXformOp> m_ops
class ICurvesSchema

Inherits from Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBaseSchema< CurvesSchemaInfo >

Public Types

typedef ICurvesSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

typedef ICurvesSchema::Sample sample_type

Public Functions

ICurvesSchema()

The default constructor creates an empty ICurvesSchema ...

template <class CPROP_PTR>
ICurvesSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

This templated, explicit function creates a new scalar property reader. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyReaderPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy and to specify schema interpretation matching.

template <class CPROP_PTR>
ICurvesSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

This constructor is the same as above, but with default schema name used.

template <class CPROP_PTR>
ICurvesSchema(CPROP_PTR iThis, Abc::WrapExistingFlag iFlag, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

Wrap an existing schema object.

ICurvesSchema(const ICurvesSchema &iCopy)

Default assignment operator used.

size_t getNumSamples() const
MeshTopologyVariance getTopologyVariance() const

Return the topological variance. This indicates how the mesh may change.

bool isConstant() const

Ask if we’re constant - no change in value amongst samples, regardless of the time sampling.

AbcA::TimeSamplingPtr getTimeSampling() const

Time sampling type.

void get(sample_type &oSample, const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
sample_type getValue(const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
Abc::IV3fArrayProperty getVelocitiesProperty() const
Abc::IP3fArrayProperty getPositionsProperty() const
Abc::IInt32ArrayProperty getNumVerticesProperty() const
Abc::IFloatArrayProperty getPositionWeightsProperty() const
IV2fGeomParam getUVsParam() const
IN3fGeomParam getNormalsParam() const
IFloatGeomParam getWidthsParam() const
Abc::IUcharArrayProperty getOrdersProperty() const
Abc::IFloatArrayProperty getKnotsProperty() const
virtual void reset()

Reset returns this function set to an empty, default state.

virtual bool valid() const

Valid returns whether this function set is valid.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(this_type::valid())

unspecified-bool-type operator overload. ...

Protected Functions

void init(const Abc::Argument &iArg0, const Abc::Argument &iArg1)

Protected Attributes

Abc::IP3fArrayProperty m_positionsProperty
Abc::IV3fArrayProperty m_velocitiesProperty
Abc::IInt32ArrayProperty m_nVerticesProperty
Abc::IScalarProperty m_basisAndTypeProperty
IFloatGeomParam m_widthsParam
IV2fGeomParam m_uvsParam
IN3fGeomParam m_normalsParam
Abc::IFloatArrayProperty m_positionWeightsProperty
Abc::IUcharArrayProperty m_ordersProperty
Abc::IFloatArrayProperty m_knotsProperty
class IFaceSetSchema

Inherits from Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBaseSchema< FaceSetSchemaInfo >

Public Types

typedef IFaceSetSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

Public Functions

IFaceSetSchema()

The default constructor creates an empty IFaceSetSchema ...

template <class CPROP_PTR>
IFaceSetSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

This templated, primary constructor creates a new faceset reader. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyWriterPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy and to specify schema interpretation matching.

template <class CPROP_PTR>
IFaceSetSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

Same constructor as above, but use the default schema name, ie, ”.geom”.

template <class CPROP_PTR>
IFaceSetSchema(CPROP_PTR iThis, Abc::WrapExistingFlag iFlag, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

wrap an existing schema object

IFaceSetSchema(const IFaceSetSchema &iCopy)

Copy constructor. (explicit copy ctor for msvc bug workaround).

bool isConstant() const

Default assignment operator used.

if isConstant() is true, the mesh contains no time-varying values

size_t getNumSamples() const

Get number of samples written so far. ...

AbcA::TimeSamplingPtr getTimeSampling() const

Return the time sampling.

void get(Sample &iSamp, const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
Sample getValue(const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
FaceSetExclusivity getFaceExclusivity() const
Abc::IInt32ArrayProperty getFacesProperty() const
virtual void reset()

Reset returns this function set to an empty, default state.

virtual bool valid() const

Valid returns whether this function set is valid.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(IFaceSetSchema::valid())

unspecified-bool-type operator overload. ...

Protected Functions

void init(const Abc::Argument &iArg0, const Abc::Argument &iArg1)

Protected Attributes

Abc::IInt32ArrayProperty m_facesProperty
class IGeomBase
#include <IGeomBase.h>

IGeomBase - A generic base set of properties and methods that encapsulate things common to AbcGeom types that have a physical volume.

  • self bounds
  • children bounds (optional)
  • argbGeomParams (optional)
  • userProperties (optional) This class is a concrete instantiation of IGeomBaseSchema. Your archive might contain PolyMesh and SubD and Curves and Points objects etc. This class, IGeomBase, gives you access to the generic parts of those objects. For example, if you just wish to iterate through an archive’s hierarchy to examine bounding regions this class could be helpful to you. Then when you actually need to access the real data in the geometric type you can always create the needed type of I<geom type> object> via kWrapExisting.

Inherits from Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBaseSchema< GeomBaseSchemaInfo >

Public Types

typedef IGeomBase this_type

Public Functions

IGeomBase()

The default constructor creates an empty GeomBase.

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

template <class CPROP_PTR>
IGeomBase(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())
template <class CPROP_PTR>
IGeomBase(CPROP_PTR iThis, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())
template <class CPROP_PTR>
IGeomBase(CPROP_PTR iThis, Abc::WrapExistingFlag iFlag, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())
IGeomBase(const IGeomBase &iCopy)

Copy constructor.

size_t getNumSamples() const

Default assignment operator used.

Return the number of samples contained in the property. This can be any number, including zero. This returns the number of samples that were written, independently of whether or not they were constant.

bool isConstant() const

Ask if we’re constant - no change in value amongst samples, regardless of the time sampling.

AbcA::TimeSamplingPtr getTimeSampling() const

Time sampling Information.

void get(Sample &oSample, const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
Sample getValue(const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
Abc::ICompoundProperty getArbGeomParams() const
Abc::ICompoundProperty getUserProperties() const
virtual void reset()

Reset returns this function set to an empty, default state.

virtual bool valid() const

Valid returns whether this function set is valid.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(IGeomBase::valid())

unspecified-bool-type operator overload. ...

Public Static Functions

static bool matches(const AbcA::MetaData &iMetaData, SchemaInterpMatching iMatching = kStrictMatching)

This will check whether or not a given entity (as represented by metadata) strictly matches the interpretation of this schema object.

static bool matches(const AbcA::PropertyHeader &iHeader, SchemaInterpMatching iMatching = kStrictMatching)

This will check whether or not a given object (as represented by an object header) strictly matches the interpretation of this schema object, as well as the data type.

template <class INFO>
class IGeomBaseSchema
#include <IGeomBase.h>

This class holds properties common to all geometric classes that have a physical volume.

  • selfBounds
  • childBounds (optional)
  • GeomParams (optional)
  • UserProperties (optional)

This class is used to encapsulate common functionality of the real Geometry schema classes, like IPoints and IPolyMesh and so on

Public Types

typedef INFO info_type

Public Functions

IGeomBaseSchema()

The default constructor creates an empty ISchema. Used to create “NULL/invalid” instances.

template <class CPROP_PTR>
IGeomBaseSchema(CPROP_PTR iParentCompound, const std::string &iName, const Argument &iArg0 = Argument(), const Argument &iArg1 = Argument())

Delegates to Abc/ISchema, and then creates properties that are present.

template <class CPROP_PTR>
IGeomBaseSchema(CPROP_PTR iParentCompound, const Argument &iArg0 = Argument(), const Argument &iArg1 = Argument())
template <class CPROP_PTR>
IGeomBaseSchema(CPROP_PTR iThis, Abc::WrapExistingFlag iFlag, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

Wrap an existing schema object.

IGeomBaseSchema(const IGeomBaseSchema &iCopy)

Copy constructor.

void init(const Abc::Argument &iArg0, const Abc::Argument &iArg1)
virtual void reset()
virtual bool valid() const
Abc::IBox3dProperty getSelfBoundsProperty() const
Abc::IBox3dProperty getChildBoundsProperty() const
ICompoundProperty getArbGeomParams() const
ICompoundProperty getUserProperties() const

Protected Attributes

Abc::IBox3dProperty m_selfBoundsProperty
Abc::IBox3dProperty m_childBoundsProperty
Abc::ICompoundProperty m_arbGeomParams
Abc::ICompoundProperty m_userProperties
class ILightSchema

Public Types

typedef ILightSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

Public Functions

ILightSchema()

The default constructor creates an empty OLightMeshSchema ...

template <class CPROP_PTR>
ILightSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

This templated, primary constructor creates a new light writer. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyWriterPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy, to specify MetaData, and to set TimeSampling.

template <class CPROP_PTR>
ILightSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())
template <class CPROP_PTR>
ILightSchema(CPROP_PTR iThis, Abc::WrapExistingFlag iFlag, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

Wrap an existing ILight object.

ILightSchema(const ILightSchema &iCopy)

Copy constructor.

ICameraSchema getCameraSchema() const

Access to the camera schema.

Abc::IBox3dProperty getChildBoundsProperty() const

Access to the child bounds property.

AbcA::TimeSamplingPtr getTimeSampling() const
bool isConstant() const
size_t getNumSamples() const
ICompoundProperty getArbGeomParams() const
ICompoundProperty getUserProperties() const
void reset()

Reset returns this function set to an empty, default state.

bool valid() const

Returns whether this function set is valid.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(ILightSchema::valid())

unspecified-bool-type operator overload. ...

Protected Functions

void init(const Abc::Argument &iArg0, const Abc::Argument &iArg1)

Protected Attributes

Abc::IBox3dProperty m_childBoundsProperty
Abc::ICompoundProperty m_arbGeomParams
Abc::ICompoundProperty m_userProperties
Alembic::AbcGeom::ICameraSchema m_cameraSchema
class INuPatchSchema

Inherits from Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBaseSchema< NuPatchSchemaInfo >

Public Types

typedef INuPatchSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

typedef Sample sample_type

Public Functions

INuPatchSchema()

The default constructor.

INuPatchSchema(const INuPatchSchema &iCopy)

copy constructor

template <class CPROP_PTR>
INuPatchSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

This templated, explicit function creates a new scalar property reader. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyReaderPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy and to specify schema interpretation matching.

template <class CPROP_PTR>
INuPatchSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

This constructor is the same as above, but with default schema name used.

template <class CPROP_PTR>
INuPatchSchema(CPROP_PTR iThis, Abc::WrapExistingFlag iFlag, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

Wrap an existing schema object.

size_t getNumSamples() const

Return the number of samples contained in the property. This can be any number, including zero. This returns the number of samples that were written, independently of whether or not they were constant.

MeshTopologyVariance getTopologyVariance() const

Return the topological variance. This indicates how the mesh may change.

bool isConstant() const

Ask if we’re constant - no change in value amongst samples, regardless of the time sampling.

AbcA::TimeSamplingPtr getTimeSampling() const

Time information.

void get(sample_type &oSample, const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
Sample getValue(const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
Abc::IP3fArrayProperty getPositionsProperty() const
Abc::IFloatArrayProperty getUKnotsProperty() const
Abc::IFloatArrayProperty getVKnotsProperty() const
Abc::IV3fArrayProperty getVelocitiesProperty() const
Abc::IFloatArrayProperty getPositionWeightsProperty() const
IN3fGeomParam getNormalsParam() const
IV2fGeomParam getUVsParam() const
bool hasTrimCurve() const
bool trimCurveTopologyIsHomogenous() const
bool trimCurveTopologyIsConstant() const
virtual void reset()

Reset returns this function set to an empty, default state.

virtual bool valid() const

Valid returns whether this function set is valid.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(INuPatchSchema::valid())

unspecified-bool-type operator overload. ...

Protected Functions

bool hasTrimProps() const
void init(const Abc::Argument &iArg0, const Abc::Argument &iArg1)

Protected Attributes

Abc::IP3fArrayProperty m_positionsProperty
Abc::IInt32Property m_numUProperty
Abc::IInt32Property m_numVProperty
Abc::IInt32Property m_uOrderProperty
Abc::IInt32Property m_vOrderProperty
Abc::IFloatArrayProperty m_uKnotProperty
Abc::IFloatArrayProperty m_vKnotProperty
Abc::IV3fArrayProperty m_velocitiesProperty
Abc::IFloatArrayProperty m_positionWeightsProperty
IN3fGeomParam m_normalsParam
IV2fGeomParam m_uvsParam
Abc::IInt32Property m_trimNumLoopsProperty
Abc::IInt32ArrayProperty m_trimNumVerticesProperty
Abc::IInt32ArrayProperty m_trimNumCurvesProperty
Abc::IInt32ArrayProperty m_trimOrderProperty
Abc::IFloatArrayProperty m_trimKnotProperty
Abc::IFloatArrayProperty m_trimMinProperty
Abc::IFloatArrayProperty m_trimMaxProperty
Abc::IFloatArrayProperty m_trimUProperty
Abc::IFloatArrayProperty m_trimVProperty
Abc::IFloatArrayProperty m_trimWProperty
bool m_hasTrimCurve
class IPointsSchema

Inherits from Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBaseSchema< PointsSchemaInfo >

Public Types

typedef IPointsSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

Public Functions

IPointsSchema()

The default constructor creates an empty OPointsSchema ...

template <class CPROP_PTR>
IPointsSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

This templated, explicit function creates a new scalar property reader. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyReaderPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy, to specify MetaData, and to set TimeSamplingType.

template <class CPROP_PTR>
IPointsSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

This constructor is the same as above, but with default schema name used.

IPointsSchema(const IPointsSchema &iCopy)

Copy constructor.

size_t getNumSamples() const

Default assignment operator used.

Return the number of samples contained in the property. This can be any number, including zero. This returns the number of samples that were written, independently of whether or not they were constant.

bool isConstant() const

Ask if we’re constant - no change in value amongst samples, regardless of the time sampling.

AbcA::TimeSamplingPtr getTimeSampling() const

Time sampling Information.

void get(Sample &oSample, const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
Sample getValue(const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
Abc::IP3fArrayProperty getPositionsProperty() const
Abc::IV3fArrayProperty getVelocitiesProperty() const
Abc::IUInt64ArrayProperty getIdsProperty() const
IFloatGeomParam getWidthsParam() const
virtual void reset()

Reset returns this function set to an empty, default state.

virtual bool valid() const

Valid returns whether this function set is valid.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(IPointsSchema::valid())

unspecified-bool-type operator overload. ...

Protected Functions

void init(const Abc::Argument &iArg0, const Abc::Argument &iArg1)

Protected Attributes

Abc::IP3fArrayProperty m_positionsProperty
Abc::IUInt64ArrayProperty m_idsProperty
Abc::IV3fArrayProperty m_velocitiesProperty
IFloatGeomParam m_widthsParam
class IPolyMeshSchema

Inherits from Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBaseSchema< PolyMeshSchemaInfo >

Public Types

typedef IPolyMeshSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

Public Functions

IPolyMeshSchema()

The default constructor creates an empty OPolyMeshSchema ...

template <class CPROP_PTR>
IPolyMeshSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

This templated, explicit function creates a new scalar property reader. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyReaderPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy and to specify schema interpretation matching.

template <class CPROP_PTR>
IPolyMeshSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

This constructor is the same as above, but with default schema name used.

template <class CPROP_PTR>
IPolyMeshSchema(CPROP_PTR iThis, Abc::WrapExistingFlag iFlag, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

Wrap an existing schema object.

IPolyMeshSchema(const IPolyMeshSchema &iCopy)

Copy constructor.

const IPolyMeshSchema &operator=(const IPolyMeshSchema &rhs)
size_t getNumSamples() const

Return the number of samples contained in the property. This can be any number, including zero. This returns the number of samples that were written, independently of whether or not they were constant.

MeshTopologyVariance getTopologyVariance() const

Return the topological variance. This indicates how the mesh may change.

bool isConstant() const

Ask if we’re constant - no change in value amongst samples, regardless of the time sampling.

AbcA::TimeSamplingPtr getTimeSampling() const

Time information. Any of the properties could be the bearer of the time sampling information, which otherwise defaults to Identity.

void get(Sample &oSample, const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
Sample getValue(const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
IV2fGeomParam getUVsParam() const
IN3fGeomParam getNormalsParam() const
Abc::IInt32ArrayProperty getFaceCountsProperty() const
Abc::IInt32ArrayProperty getFaceIndicesProperty() const
Abc::IP3fArrayProperty getPositionsProperty() const
Abc::IV3fArrayProperty getVelocitiesProperty() const
virtual void reset()

Reset returns this function set to an empty, default state.

virtual bool valid() const

Valid returns whether this function set is valid.

void getFaceSetNames(std::vector<std::string> &oFaceSetNames)

Appends the names of any FaceSets for this PolyMesh.

IFaceSet getFaceSet(const std::string &iFaceSetName)
bool hasFaceSet(const std::string &iFaceSetName)
ALEMBIC_OVERRIDE_OPERATOR_BOOL(IPolyMeshSchema::valid())

unspecified-bool-type operator overload. ...

Protected Functions

void init(const Abc::Argument &iArg0, const Abc::Argument &iArg1)
void loadFaceSetNames()

Protected Attributes

Abc::IP3fArrayProperty m_positionsProperty
Abc::IV3fArrayProperty m_velocitiesProperty
Abc::IInt32ArrayProperty m_indicesProperty
Abc::IInt32ArrayProperty m_countsProperty
IV2fGeomParam m_uvsParam
IN3fGeomParam m_normalsParam
bool m_faceSetsLoaded
std::map<std::string, IFaceSet> m_faceSets
Alembic::Util::mutex m_faceSetsMutex
class ISchema

Subclassed by Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBaseSchema< CurvesSchemaInfo >, Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBaseSchema< FaceSetSchemaInfo >, Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBaseSchema< GeomBaseSchemaInfo >, Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBaseSchema< NuPatchSchemaInfo >, Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBaseSchema< PointsSchemaInfo >, Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBaseSchema< PolyMeshSchemaInfo >, Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBaseSchema< SubDSchemaInfo >

class ISubDSchema

Inherits from Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBaseSchema< SubDSchemaInfo >

Public Types

typedef ISubDSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

Public Functions

ISubDSchema()

The default constructor creates an empty ISubDSchema ...

template <class CPROP_PTR>
ISubDSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

This templated, primary constructor creates a new subd reader. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyWriterPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy and to specify schema interpretation matching.

template <class CPROP_PTR>
ISubDSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

Same constructor as above, but use the default schema name, ie, ”.geom”.

template <class CPROP_PTR>
ISubDSchema(CPROP_PTR iThis, Abc::WrapExistingFlag iFlag, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

wrap an existing schema object

MeshTopologyVariance getTopologyVariance() const

Default assignment operator used.

bool isConstant() const

if isConstant() is true, the mesh contains no time-varying values

size_t getNumSamples() const

Get number of samples written so far. ...

AbcA::TimeSamplingPtr getTimeSampling() const

Return the time sampling.

void get(Sample &iSamp, const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
Sample getValue(const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
Abc::IInt32ArrayProperty getFaceCountsProperty() const
Abc::IInt32ArrayProperty getFaceIndicesProperty() const
Abc::IP3fArrayProperty getPositionsProperty() const
Abc::IInt32Property getFaceVaryingInterpolateBoundaryProperty() const
Abc::IInt32Property getFaceVaryingPropagateCornersProperty() const
Abc::IInt32Property getInterpolateBoundaryProperty() const
Abc::IInt32ArrayProperty getCreaseIndicesProperty() const
Abc::IInt32ArrayProperty getCreaseLengthsProperty() const
Abc::IFloatArrayProperty getCreaseSharpnessesProperty() const
Abc::IInt32ArrayProperty getCornerIndicesProperty() const
Abc::IFloatArrayProperty getCornerSharpnessesProperty() const
Abc::IInt32ArrayProperty getHolesProperty() const
Abc::IStringProperty getSubdivisionSchemeProperty() const
Abc::IV3fArrayProperty getVelocitiesProperty() const
IV2fGeomParam getUVsParam() const
virtual void reset()

Reset returns this function set to an empty, default state.

virtual bool valid() const

Valid returns whether this function set is valid.

void getFaceSetNames(std::vector<std::string> &oFaceSetNames)

Appends the names of any FaceSets for this SubD.

IFaceSet getFaceSet(const std::string &iFaceSetName)
bool hasFaceSet(const std::string &iFaceSetName)
ALEMBIC_OVERRIDE_OPERATOR_BOOL(ISubDSchema::valid())

unspecified-bool-type operator overload. ...

ISubDSchema(const ISubDSchema &iCopy)
const ISubDSchema &operator=(const ISubDSchema &rhs)

Protected Functions

void init(const Abc::Argument &iArg0, const Abc::Argument &iArg1)
void loadFaceSetNames()

Protected Attributes

Abc::IP3fArrayProperty m_positionsProperty
Abc::IInt32ArrayProperty m_faceIndicesProperty
Abc::IInt32ArrayProperty m_faceCountsProperty
Abc::IInt32Property m_faceVaryingInterpolateBoundaryProperty
Abc::IInt32Property m_faceVaryingPropagateCornersProperty
Abc::IInt32Property m_interpolateBoundaryProperty
Abc::IInt32ArrayProperty m_creaseIndicesProperty
Abc::IInt32ArrayProperty m_creaseLengthsProperty
Abc::IFloatArrayProperty m_creaseSharpnessesProperty
Abc::IInt32ArrayProperty m_cornerIndicesProperty
Abc::IFloatArrayProperty m_cornerSharpnessesProperty
Abc::IInt32ArrayProperty m_holesProperty
Abc::IStringProperty m_subdSchemeProperty
IV2fGeomParam m_uvsParam
IV3fArrayProperty m_velocitiesProperty
bool m_faceSetsLoaded
std::map<std::string, IFaceSet> m_faceSets
Alembic::Util::mutex m_faceSetsMutex
template <class TRAITS>
class ITypedGeomParam

Public Types

typedef TRAITS::value_type value_type
typedef Abc::ITypedArrayProperty<TRAITS> prop_type
typedef ITypedGeomParam<TRAITS> this_type
typedef this_type::Sample sample_type

Public Functions

ITypedGeomParam()
template <class CPROP>
ITypedGeomParam(CPROP iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())
template <class PROP>
ITypedGeomParam(PROP iThis, WrapExistingFlag iWrapFlag, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())
void getIndexed(sample_type &oSamp, const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
void getExpanded(sample_type &oSamp, const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
sample_type getIndexedValue(const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
sample_type getExpandedValue(const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
size_t getNumSamples() const
AbcA::DataType getDataType() const
size_t getArrayExtent() const
bool isIndexed() const
GeometryScope getScope() const
AbcA::TimeSamplingPtr getTimeSampling() const
const std::string &getName() const
Abc::ICompoundProperty getParent() const
const AbcA::PropertyHeader &getHeader() const
const AbcA::MetaData &getMetaData() const
bool isConstant() const
void reset()
bool valid() const
ALEMBIC_OPERATOR_BOOL(this_type::valid())
prop_type getValueProperty()
Abc::IUInt32ArrayProperty getIndexProperty()

Public Static Functions

static const char *getInterpretation()
static bool matches(const AbcA::PropertyHeader &iHeader, SchemaInterpMatching iMatching = kStrictMatching)

Protected Attributes

prop_type m_valProp
Abc::IUInt32ArrayProperty m_indicesProperty
Abc::ICompoundProperty m_cprop
bool m_isIndexed

Private Functions

Abc::ErrorHandler &getErrorHandler() const
class IXformSchema

Public Types

typedef Abc::ISchema<XformSchemaInfo> super_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

typedef IXformSchema this_type
typedef XformSample sample_type

Public Functions

IXformSchema()

The default constructor creates an empty OPolyMeshSchema ...

template <class CPROP_PTR>
IXformSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

This templated, primary constructor creates a new xform writer. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyWriterPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy, to specify MetaData, and to set TimeSamplingType.

template <class CPROP_PTR>
IXformSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

This constructor does the same as the above, but uses the default name from the XformSchemaInfo struct.

template <class CPROP_PTR>
IXformSchema(CPROP_PTR iThis, Abc::WrapExistingFlag iFlag, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())

Wrap an existing IXform object.

IXformSchema(const IXformSchema &iCopy)

explicit copy constructor to work around Windows compiler bug

AbcA::TimeSamplingPtr getTimeSampling() const
bool isConstant() const
bool isConstantIdentity() const

is this xform both constant and identity?

size_t getNumSamples() const
void get(XformSample &oSamp, const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const

fill the supplied sample reference with values

XformSample getValue(const Abc::ISampleSelector &iSS = Abc::ISampleSelector()) const
Abc::IBox3dProperty getChildBoundsProperty() const
bool getInheritsXforms(const Abc::ISampleSelector &iSS = Abc::ISampleSelector())
size_t getNumOps() const
void reset()

Reset returns this function set to an empty, default state.

bool valid() const

Valid returns whether this function set is valid.

ICompoundProperty getArbGeomParams() const
ICompoundProperty getUserProperties() const
ALEMBIC_OVERRIDE_OPERATOR_BOOL(this_type::valid())

unspecified-bool-type operator overload. ...

Protected Attributes

Abc::IBox3dProperty m_childBoundsProperty
AbcA::BasePropertyReaderPtr m_valsProperty
Abc::IBoolProperty m_inheritsProperty
Abc::ICompoundProperty m_arbGeomParams
Abc::ICompoundProperty m_userProperties
bool m_isConstant
bool m_isConstantIdentity
XformSample m_sample

Private Functions

void init(const Abc::Argument &iArg0, const Abc::Argument &iArg1)
void getChannelValues(const AbcA::index_t iSampleIndex, XformSample &oSamp) const

Private Members

bool m_useArrayProp
class OCameraSchema

Public Types

typedef OCameraSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

Public Functions

OCameraSchema()

The default constructor creates an empty OCameraMeshSchema ...

template <class CPROP_PTR>
OCameraSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())

This templated, primary constructor creates a new camera writer. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyWriterPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy, to specify MetaData, and to set TimeSampling.

template <class CPROP_PTR>
OCameraSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())
OCameraSchema(const OCameraSchema &iCopy)

Copy constructor.

AbcA::TimeSamplingPtr getTimeSampling() const

Default assignment operator used.

Return the time sampling.

size_t getNumSamples()

Get number of samples written so far. ...

void set(const CameraSample &iSamp)

Set a sample.

void setFromPrevious()

Set from previous sample.

void setTimeSampling(uint32_t iIndex)
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
Abc::OCompoundProperty getUserProperties()
Abc::OCompoundProperty getArbGeomParams()
Abc::OBox3dProperty getChildBoundsProperty()
void reset()

Reset returns this function set to an empty, default state.

bool valid() const

Returns whether this function set is valid.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(OCameraSchema::valid())

unspecified-bool-type operator overload. ...

Protected Functions

void init(uint32_t iTsIdx)

Protected Attributes

Abc::OScalarProperty m_coreProperties
Abc::OBox3dProperty m_childBoundsProperty
Abc::OCompoundProperty m_userProperties
Abc::OCompoundProperty m_arbGeomParams
Abc::ODoubleArrayProperty m_bigFilmBackChannelsProperty
Abc::OScalarProperty m_smallFilmBackChannelsProperty

Private Members

CameraSample m_initialSample
class OCurvesSchema

Inherits from Alembic::AbcGeom::ALEMBIC_VERSION_NS::OGeomBaseSchema< CurvesSchemaInfo >

Public Types

typedef OCurvesSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

typedef OCurvesSchema::Sample sample_type

Public Functions

OCurvesSchema()

The default constructor creates an empty OCurvesSchema ...

template <class CPROP_PTR>
OCurvesSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())

This templated, primary constructor creates a new poly mesh writer. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyWriterPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy, to specify MetaData, and to set TimeSamplingType.

template <class CPROP_PTR>
OCurvesSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())
OCurvesSchema(const OCurvesSchema &iCopy)
AbcA::TimeSamplingPtr getTimeSampling() const

Default assignment operator used.

Return the time sampling type, which is stored on each of the sub properties.

void setTimeSampling(uint32_t iIndex)
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
size_t getNumSamples() const

Get number of samples written so far. ...

void set(const sample_type &iSamp)

Set a sample! Sample zero has to have non-degenerate positions, indices and counts.

void setFromPrevious()

Set from previous sample. Will apply to each of positions, indices, and counts.

virtual void reset()

Reset returns this function set to an empty, default state.

virtual bool valid() const

Valid returns whether this function set is valid.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(this_type::valid())

unspecified-bool-type operator overload. ...

Protected Functions

void init(const AbcA::index_t iTsIdx)

Protected Attributes

Abc::OP3fArrayProperty m_positionsProperty
Abc::OInt32ArrayProperty m_nVerticesProperty
OV2fGeomParam m_uvsParam
ON3fGeomParam m_normalsParam
OFloatGeomParam m_widthsParam
Abc::OV3fArrayProperty m_velocitiesProperty
Abc::OFloatArrayProperty m_positionWeightsProperty
Abc::OUcharArrayProperty m_ordersProperty
Abc::OFloatArrayProperty m_knotsProperty
Abc::OScalarProperty m_basisAndTypeProperty
class OFaceSetSchema

Inherits from Alembic::AbcGeom::ALEMBIC_VERSION_NS::OGeomBaseSchema< FaceSetSchemaInfo >

Public Types

typedef OFaceSetSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

Public Functions

OFaceSetSchema()

The default constructor creates an empty OFaceSetSchema. OFaceSetSchema instances created this evaluate to a boolean value of false.

template <class CPROP_PTR>
OFaceSetSchema(CPROP_PTR iParentCompound, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())

This templated, primary constructor creates a new faceset writer. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyWriterPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy, to specify MetaData, and to set TimeSamplingType. Most typically you won’t need to use this ctor because the name argument here is only needed if you need to specially override the name of the compound property used internally by Alembic (for example if you needed to created your own dervied class from OFaceSet that needed to hold multiple faceset schema compound properties)

template <class CPROP_PTR>
void _initTimeSampling(CPROP_PTR iParentCompound, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())
template <class CPROP_PTR>
OFaceSetSchema(CPROP_PTR iParentCompound, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())
OFaceSetSchema(const OFaceSetSchema &iCopy)

Copy constructor.

size_t getNumSamples() const

Default assignment operator used.

Get number of samples written so far. ...

void set(const Sample &iSamp)

Set a sample! First sample must have the list of faces in the faceset.

void setTimeSampling(uint32_t iTimeSamplingID)
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
void setFaceExclusivity(FaceSetExclusivity iFacesExclusive)
FaceSetExclusivity getFaceExclusivity()
virtual void reset()

Reset returns this function set to an empty, default state.

virtual bool valid() const

Valid returns whether this instance holds real data.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(OFaceSetSchema::valid())

unspecified-bool-type operator overload. ...

Protected Functions

void _recordExclusivityHint()
void init(uint32_t iTimeSamplingID)

Protected Attributes

Abc::OInt32ArrayProperty m_facesProperty
Abc::OUInt32Property m_facesExclusiveProperty
FaceSetExclusivity m_facesExclusive

Friends

friend Alembic::AbcGeom::ALEMBIC_VERSION_NS::OFaceSetSchema::OSubDSchema
friend Alembic::AbcGeom::ALEMBIC_VERSION_NS::OFaceSetSchema::OPolyMeshSchema
template <class INFO>
class OGeomBaseSchema
#include <OGeomBase.h>

This class holds properties common to all classes with a physical volume.

  • selfBounds
  • childBounds (optional)
  • GeomParams (optional)
  • UserProperties (optional)

This class is used to encapsulate common functionality of the real Geometry schema classes, like OPoints and OPolyMesh and so on

Public Types

typedef INFO info_type

Public Functions

OGeomBaseSchema()

The default constructor creates an empty OSchema. Used to create “NULL/invalid” instances.

template <class CPROP_PTR>
OGeomBaseSchema(CPROP_PTR iParentCompound, const std::string &iName, const Argument &iArg0 = Argument(), const Argument &iArg1 = Argument(), const Argument &iArg2 = Argument())

Delegates to Abc/OSchema, and then creates always-present properties

template <class CPROP_PTR>
OGeomBaseSchema(CPROP_PTR iParentCompound, const Argument &iArg0 = Argument(), const Argument &iArg1 = Argument(), const Argument &iArg2 = Argument())
OGeomBaseSchema(const OGeomBaseSchema &iCopy)

Copy constructor.

void init(uint32_t iTsHandle)
virtual void reset()
virtual bool valid() const
Abc::OCompoundProperty getArbGeomParams()
Abc::OCompoundProperty getUserProperties()
Abc::OBox3dProperty getChildBoundsProperty()

Protected Attributes

Abc::OBox3dProperty m_selfBoundsProperty
Abc::OBox3dProperty m_childBoundsProperty
Abc::OCompoundProperty m_arbGeomParams
Abc::OCompoundProperty m_userProperties
class OLightSchema

Public Types

typedef OLightSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

Public Functions

OLightSchema()

The default constructor creates an empty OLightMeshSchema ...

template <class CPROP_PTR>
OLightSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())

This templated, primary constructor creates a new camera writer. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyWriterPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy, to specify MetaData, and to set TimeSampling.

template <class CPROP_PTR>
OLightSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())
OLightSchema(const OLightSchema &iCopy)

Copy constructor.

AbcA::TimeSamplingPtr getTimeSampling() const

Default assignment operator used.

Return the time sampling.

size_t getNumSamples()

All of our properties are not mandatory so we’ll just use the child bounds.

void setCameraSample(const CameraSample &iSamp)

Set a sample.

void setFromPrevious()

Set from previous sample.

void setTimeSampling(uint32_t iIndex)
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
Abc::OCompoundProperty getUserProperties()
Abc::OCompoundProperty getArbGeomParams()
Abc::OBox3dProperty getChildBoundsProperty()
void reset()

Reset returns this function set to an empty, default state.

bool valid() const

Returns whether this function set is valid.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(OLightSchema::valid())

unspecified-bool-type operator overload. ...

Protected Attributes

AbcA::TimeSamplingPtr m_tsPtr
Abc::OBox3dProperty m_childBoundsProperty
Abc::OCompoundProperty m_userProperties
Abc::OCompoundProperty m_arbGeomParams
AbcGeom::OCameraSchema m_cameraSchema
class ONuPatchSchema

Inherits from Alembic::AbcGeom::ALEMBIC_VERSION_NS::OGeomBaseSchema< NuPatchSchemaInfo >

Public Types

typedef ONuPatchSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

typedef ONuPatchSchema::Sample sample_type

Public Functions

ONuPatchSchema()

The default constructor creates an empty ONuPatchSchema ...

template <class CPROP_PTR>
ONuPatchSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())

This templated, primary constructor creates a new poly mesh writer. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyWriterPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy, to specify MetaData, and to set TimeSamplingType.

template <class CPROP_PTR>
ONuPatchSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())
ONuPatchSchema(const ONuPatchSchema &iCopy)

Copy constructor.

AbcA::TimeSamplingPtr getTimeSampling() const

Return the time sampling type, which is stored on each of the sub properties.

void setTimeSampling(uint32_t iIndex)
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
size_t getNumSamples() const

Get number of samples written so far. ...

void set(const sample_type &iSamp)

Set a sample!

void setFromPrevious()

Set from previous sample. Will apply to each of positions, indices, and counts.

virtual void reset()

Reset returns this function set to an empty, default state.

virtual bool valid() const

Valid returns whether this function set is valid.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(ONuPatchSchema::valid())

unspecified-bool-type operator overload. ...

Protected Functions

void init(const AbcA::index_t iTsIdx)

Protected Attributes

AbcA::index_t m_timeSamplingIndex
Abc::OP3fArrayProperty m_positionsProperty
Abc::OInt32Property m_numUProperty
Abc::OInt32Property m_numVProperty
Abc::OInt32Property m_uOrderProperty
Abc::OInt32Property m_vOrderProperty
Abc::OFloatArrayProperty m_uKnotProperty
Abc::OFloatArrayProperty m_vKnotProperty
Abc::OFloatArrayProperty m_positionWeightsProperty
ON3fGeomParam m_normalsParam
OV2fGeomParam m_uvsParam
Abc::OV3fArrayProperty m_velocitiesProperty
Abc::OInt32Property m_trimNumLoopsProperty
Abc::OInt32ArrayProperty m_trimNumCurvesProperty
Abc::OInt32ArrayProperty m_trimNumVerticesProperty
Abc::OInt32ArrayProperty m_trimOrderProperty
Abc::OFloatArrayProperty m_trimKnotProperty
Abc::OFloatArrayProperty m_trimMinProperty
Abc::OFloatArrayProperty m_trimMaxProperty
Abc::OFloatArrayProperty m_trimUProperty
Abc::OFloatArrayProperty m_trimVProperty
Abc::OFloatArrayProperty m_trimWProperty
class OPointsSchema

Inherits from Alembic::AbcGeom::ALEMBIC_VERSION_NS::OGeomBaseSchema< PointsSchemaInfo >

Public Types

typedef OPointsSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

Public Functions

OPointsSchema()

The default constructor creates an empty OPointsSchema ...

template <class CPROP_PTR>
OPointsSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())

This templated, primary constructor creates a new poly mesh writer. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyWriterPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy, to specify MetaData, and to set TimeSamplingType.

template <class CPROP_PTR>
OPointsSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())
OPointsSchema(const OPointsSchema &iCopy)

Copy constructor.

AbcA::TimeSamplingPtr getTimeSampling() const

Default assignment operator used.

Return the time sampling

size_t getNumSamples() const

Get number of samples written so far. ...

void set(const Sample &iSamp)

Set a sample.

void setFromPrevious()

Set from previous sample. Will apply to each of positions, ids, velocities, and widths

void setTimeSampling(uint32_t iIndex)
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
virtual void reset()

Reset returns this function set to an empty, default state.

virtual bool valid() const

Valid returns whether this function set is valid.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(OPointsSchema::valid())

unspecified-bool-type operator overload. ...

Protected Functions

void init(uint32_t iTsIdx)

Protected Attributes

Abc::OP3fArrayProperty m_positionsProperty
Abc::OUInt64ArrayProperty m_idsProperty
Abc::OV3fArrayProperty m_velocitiesProperty
OFloatGeomParam m_widthsParam
class OPolyMeshSchema

Inherits from Alembic::AbcGeom::ALEMBIC_VERSION_NS::OGeomBaseSchema< PolyMeshSchemaInfo >

Public Types

typedef OPolyMeshSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

Public Functions

OPolyMeshSchema()

The default constructor creates an empty OPolyMeshSchema ...

template <class CPROP_PTR>
OPolyMeshSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())

This templated, primary constructor creates a new poly mesh writer. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyWriterPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy, to specify MetaData, and to set TimeSamplingType.

template <class CPROP_PTR>
OPolyMeshSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())
OPolyMeshSchema(const OPolyMeshSchema &iCopy)

Copy constructor.

AbcA::TimeSamplingPtr getTimeSampling() const

Default assignment operator used.

Return the time sampling type, which is stored on each of the sub properties.

size_t getNumSamples() const

Get number of samples written so far. ...

void set(const Sample &iSamp)

Set a sample! Sample zero has to have non-degenerate positions, indices and counts.

void setFromPrevious()

Set from previous sample. Will apply to each of positions, indices, and counts.

void setTimeSampling(uint32_t iIndex)
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
virtual void reset()

Reset returns this function set to an empty, default state.

virtual bool valid() const

Valid returns whether this function set is valid.

OFaceSet &createFaceSet(const std::string &iFaceSetName)
void getFaceSetNames(std::vector<std::string> &oFaceSetNames)

Appends the names of any FaceSets for this PolyMesh.

OFaceSet getFaceSet(const std::string &iFaceSetName)
bool hasFaceSet(const std::string &iFaceSetName)
void setUVSourceName(const std::string &iName)

Optional source name for the UV param. Must be set before the first UV sample is set.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(OPolyMeshSchema::valid())

unspecified-bool-type operator overload. ...

Protected Functions

void init(uint32_t iTsIdx)

Protected Attributes

Abc::OP3fArrayProperty m_positionsProperty
Abc::OV3fArrayProperty m_velocitiesProperty
Abc::OInt32ArrayProperty m_indicesProperty
Abc::OInt32ArrayProperty m_countsProperty
std::map<std::string, OFaceSet> m_faceSets
OV2fGeomParam m_uvsParam
ON3fGeomParam m_normalsParam
std::string m_uvSourceName
class OSchema

Subclassed by Alembic::AbcGeom::ALEMBIC_VERSION_NS::OGeomBaseSchema< CurvesSchemaInfo >, Alembic::AbcGeom::ALEMBIC_VERSION_NS::OGeomBaseSchema< FaceSetSchemaInfo >, Alembic::AbcGeom::ALEMBIC_VERSION_NS::OGeomBaseSchema< NuPatchSchemaInfo >, Alembic::AbcGeom::ALEMBIC_VERSION_NS::OGeomBaseSchema< PointsSchemaInfo >, Alembic::AbcGeom::ALEMBIC_VERSION_NS::OGeomBaseSchema< PolyMeshSchemaInfo >, Alembic::AbcGeom::ALEMBIC_VERSION_NS::OGeomBaseSchema< SubDSchemaInfo >

class OSubDSchema

Inherits from Alembic::AbcGeom::ALEMBIC_VERSION_NS::OGeomBaseSchema< SubDSchemaInfo >

Public Types

typedef OSubDSchema this_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

Public Functions

OSubDSchema()

The default constructor creates an empty OSubDSchema ...

template <class CPROP_PTR>
OSubDSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())

This templated, primary constructor creates a new poly mesh writer. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyWriterPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy, to specify MetaData, and to set TimeSamplingType.

template <class CPROP_PTR>
OSubDSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())
OSubDSchema(const OSubDSchema &iCopy)

Copy constructor.

AbcA::TimeSamplingPtr getTimeSampling() const

Default assignment operator used.

Return the time sampling, which is stored on each of the sub properties.

size_t getNumSamples() const

Get number of samples written so far. ...

void set(const Sample &iSamp)

Set a sample! Sample zero has to have non-degenerate positions, indices and counts.

void setFromPrevious()

Set from previous sample. Will apply to each of positions, indices, and counts.

void setTimeSampling(uint32_t iIndex)
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
virtual void reset()

Reset returns this function set to an empty, default state.

virtual bool valid() const

Valid returns whether this function set is valid.

OFaceSet &createFaceSet(const std::string &iFaceSetName)
void getFaceSetNames(std::vector<std::string> &oFaceSetNames)

Appends the names of any FaceSets for this SubD.

OFaceSet getFaceSet(const std::string &iFaceSetName)
bool hasFaceSet(const std::string &iFaceSetName)
void setUVSourceName(const std::string &iName)

Optional source name for the UV param. Must be set before the first UV sample is set.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(OSubDSchema::valid())

unspecified-bool-type operator overload. ...

Protected Functions

void init(uint32_t iTsIdx)

Protected Attributes

Abc::OP3fArrayProperty m_positionsProperty
Abc::OInt32ArrayProperty m_faceIndicesProperty
Abc::OInt32ArrayProperty m_faceCountsProperty
Abc::OInt32Property m_faceVaryingInterpolateBoundaryProperty
Abc::OInt32Property m_faceVaryingPropagateCornersProperty
Abc::OInt32Property m_interpolateBoundaryProperty
Abc::OInt32ArrayProperty m_creaseIndicesProperty
Abc::OInt32ArrayProperty m_creaseLengthsProperty
Abc::OFloatArrayProperty m_creaseSharpnessesProperty
Abc::OInt32ArrayProperty m_cornerIndicesProperty
Abc::OFloatArrayProperty m_cornerSharpnessesProperty
Abc::OInt32ArrayProperty m_holesProperty
Abc::OStringProperty m_subdSchemeProperty
Abc::OV3fArrayProperty m_velocitiesProperty
OV2fGeomParam m_uvsParam
std::string m_uvSourceName

Private Functions

void initCreases(uint32_t iNumSamples)
void initCorners(uint32_t iNumSamples)
void initHoles(uint32_t iNumSamples)

Private Members

std::map<std::string, OFaceSet> m_faceSets

Friends

friend Alembic::AbcGeom::ALEMBIC_VERSION_NS::OSubDSchema::OFaceSetSchema
template <class TRAITS>
class OTypedGeomParam

Public Types

typedef TRAITS::value_type value_type
typedef OTypedArrayProperty<TRAITS> prop_type
typedef OTypedGeomParam<TRAITS> this_type
typedef this_type::Sample sample_type

Public Functions

OTypedGeomParam()
template <class CPROP>
OTypedGeomParam(CPROP iParent, const std::string &iName, bool iIsIndexed, GeometryScope iScope, size_t iArrayExtent, const Argument &iArg0 = Argument(), const Argument &iArg1 = Argument(), const Argument &iArg2 = Argument())
template <class PROP>
OTypedGeomParam(PROP iThis, WrapExistingFlag iWrapFlag, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument())
void set(const sample_type &iSamp)
void setFromPrevious()
void setTimeSampling(uint32_t iIndex)
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
size_t getNumSamples() const
AbcA::DataType getDataType() const
bool isIndexed() const
GeometryScope getScope() const
AbcA::TimeSamplingPtr getTimeSampling() const
const std::string &getName() const
bool valid() const
ALEMBIC_OPERATOR_BOOL(this_type::valid())
void reset()
prop_type getValueProperty() const
OUInt32ArrayProperty getIndexProperty() const

Public Static Functions

static const char *getInterpretation()
static bool matches(const AbcA::PropertyHeader &iHeader, SchemaInterpMatching iMatching = kStrictMatching)

Protected Attributes

std::string m_name
prop_type m_valProp
OUInt32ArrayProperty m_indicesProperty
bool m_isIndexed
GeometryScope m_scope
Abc::OCompoundProperty m_cprop

Private Functions

Abc::ErrorHandler &getErrorHandler() const
class OXformSchema

Public Types

typedef Abc::OSchema<XformSchemaInfo> super_type

By convention we always define this_type in AbcGeom classes. Used by unspecified-bool-type conversion below

typedef OXformSchema this_type
typedef XformSample sample_type

Public Functions

OXformSchema()

The default constructor creates an empty OPolyMeshSchema ...

template <class CPROP_PTR>
OXformSchema(CPROP_PTR iParent, const std::string &iName, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())

This templated, primary constructor creates a new xform writer. The first argument is any Abc (or AbcCoreAbstract) object which can intrusively be converted to an CompoundPropertyWriterPtr to use as a parent, from which the error handler policy for inheritance is also derived. The remaining optional arguments can be used to override the ErrorHandlerPolicy, to specify MetaData, and to set TimeSampling.

template <class CPROP_PTR>
OXformSchema(CPROP_PTR iParent, const Abc::Argument &iArg0 = Abc::Argument(), const Abc::Argument &iArg1 = Abc::Argument(), const Abc::Argument &iArg2 = Abc::Argument())

This constructor does the same as the above, but uses the default name from the XformSchemaInfo struct.

OXformSchema(const OXformSchema &iCopy)

Explicit copy constructor to work around MSVC bug.

AbcA::TimeSamplingPtr getTimeSampling() const

Default assignment operator used.

size_t getNumSamples() const

Get number of samples written so far. ...

void set(XformSample &ioSamp)

Set an animated sample. On first call to set, the sample is modified, so it can’t be const.

void setFromPrevious()

Set from previous sample. Will hold the animated channels.

void setTimeSampling(uint32_t iIndex)
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
Abc::OCompoundProperty getArbGeomParams()
Abc::OCompoundProperty getUserProperties()
Abc::OBox3dProperty getChildBoundsProperty()
void reset()

Reset returns this function set to an empty, default state.

bool valid() const

Valid returns whether this function set is valid.

ALEMBIC_OVERRIDE_OPERATOR_BOOL(this_type::valid())

unspecified-bool-type operator overload. ...

Protected Attributes

Abc::OBox3dProperty m_childBoundsProperty
AbcA::ScalarPropertyWriterPtr m_opsPWPtr
AbcA::BasePropertyWriterPtr m_valsPWPtr
Abc::OBoolProperty m_inheritsProperty
Abc::OBoolProperty m_isNotConstantIdentityProperty
XformSample m_protoSample
bool m_isIdentity
Abc::OCompoundProperty m_arbGeomParams
Abc::OCompoundProperty m_userProperties
Util::shared_ptr<Data> m_data

Private Functions

void init(const AbcA::index_t iTSIndex)
void setChannelValues(const std::vector<double> &iVals)

Private Members

std::size_t m_numChannels
std::size_t m_numOps
bool m_useArrayProp
AbcA::DataType m_arrayValuesDataType
Alembic::Util::Dimensions m_arraySampleDimensions
class Sample

Public Types

typedef Sample this_type

Public Functions

Sample()
Abc::P3fArraySamplePtr getPositions() const
std::size_t getNumCurves() const
Abc::Int32ArraySamplePtr getCurvesNumVertices() const
CurveType getType() const
CurvePeriodicity getWrap() const
BasisType getBasis() const
Abc::UcharArraySamplePtr getOrders()
Abc::FloatArraySamplePtr getKnots()
Abc::FloatArraySamplePtr getPositionWeights() const
Abc::Box3d getSelfBounds() const
Abc::V3fArraySamplePtr getVelocities() const
bool valid() const
void reset()
ALEMBIC_OPERATOR_BOOL(valid())

Protected Attributes

Abc::P3fArraySamplePtr m_positions
Abc::V3fArraySamplePtr m_velocities
Abc::FloatArraySamplePtr m_positionWeights
Abc::Box3d m_selfBounds
Abc::Int32ArraySamplePtr m_nVertices
Abc::UcharArraySamplePtr m_orders
Abc::FloatArraySamplePtr m_knots
CurveType m_type
BasisType m_basis
CurvePeriodicity m_wrap

Friends

friend Alembic::AbcGeom::ALEMBIC_VERSION_NS::ICurvesSchema::Sample::ICurvesSchema
class Sample

Public Types

typedef Sample this_type

Public Functions

Sample()
Abc::P3fArraySamplePtr getPositions() const
Abc::V3fArraySamplePtr getVelocities() const
int32_t getNumU() const
int32_t getNumV() const
int32_t getUOrder() const
int32_t getVOrder() const
Abc::FloatArraySamplePtr getUKnot() const
Abc::FloatArraySamplePtr getVKnot() const
Abc::FloatArraySamplePtr getPositionWeights() const
int32_t getTrimNumLoops() const
Abc::Int32ArraySamplePtr getTrimNumVertices() const
Abc::Int32ArraySamplePtr getTrimNumCurves() const
Abc::Int32ArraySamplePtr getTrimOrders() const
Abc::FloatArraySamplePtr getTrimKnots() const
Abc::FloatArraySamplePtr getTrimMins() const
Abc::FloatArraySamplePtr getTrimMaxes() const
Abc::FloatArraySamplePtr getTrimU() const
Abc::FloatArraySamplePtr getTrimV() const
Abc::FloatArraySamplePtr getTrimW() const
bool hasTrimCurve() const
bool valid() const
Abc::Box3d getSelfBounds() const
void reset()
ALEMBIC_OPERATOR_BOOL(valid())

Protected Attributes

Abc::P3fArraySamplePtr m_positions
Abc::V3fArraySamplePtr m_velocities
int32_t m_numU
int32_t m_numV
int32_t m_uOrder
int32_t m_vOrder
Abc::FloatArraySamplePtr m_uKnot
Abc::FloatArraySamplePtr m_vKnot
Abc::FloatArraySamplePtr m_positionWeights
int32_t m_trimNumLoops
Abc::Int32ArraySamplePtr m_trimNumCurves
Abc::Int32ArraySamplePtr m_trimNumVertices
Abc::Int32ArraySamplePtr m_trimOrder
Abc::FloatArraySamplePtr m_trimKnot
Abc::FloatArraySamplePtr m_trimMin
Abc::FloatArraySamplePtr m_trimMax
Abc::FloatArraySamplePtr m_trimU
Abc::FloatArraySamplePtr m_trimV
Abc::FloatArraySamplePtr m_trimW
bool m_hasTrimCurve
Abc::Box3d m_selfBounds

Friends

friend Alembic::AbcGeom::ALEMBIC_VERSION_NS::INuPatchSchema::Sample::INuPatchSchema
class Sample

Public Types

typedef Sample this_type

Public Functions

Sample()

Users never create this data directly.

Abc::Int32ArraySamplePtr getFaces() const
Abc::Box3d getSelfBounds() const
bool valid() const
void reset()
ALEMBIC_OPERATOR_BOOL(valid())

Protected Attributes

Abc::Int32ArraySamplePtr m_faces
Abc::Box3d m_selfBounds

Friends

friend Alembic::AbcGeom::ALEMBIC_VERSION_NS::IFaceSetSchema::Sample::IFaceSetSchema
class Sample

Public Types

typedef >
type Sample Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam<TRAITS>::Sample::this_type
typedef >
type Alembic::Util::shared_ptr<Abc::TypedArraySample<TRAITS>> Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam<TRAITS>::Sample::samp_ptr_type

Public Functions

template<>
Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam<TRAITS>::Sample::Sample()
template<>
Abc::UInt32ArraySamplePtr Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam<TRAITS>::Sample::getIndices() const
template<>
samp_ptr_type Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam<TRAITS>::Sample::getVals() const
template<>
GeometryScope Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam<TRAITS>::Sample::getScope() const
template<>
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam<TRAITS>::Sample::isIndexed() const
template<>
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam<TRAITS>::Sample::reset()
template<>
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam<TRAITS>::Sample::valid() const
template<>
Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam<TRAITS>::Sample::ALEMBIC_OPERATOR_BOOL(valid())

Protected Attributes

template<>
samp_ptr_type Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam<TRAITS>::Sample::m_vals
template<>
Abc::UInt32ArraySamplePtr Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam<TRAITS>::Sample::m_indices
template<>
GeometryScope Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam<TRAITS>::Sample::m_scope
template<>
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam<TRAITS>::Sample::m_isIndexed

Friends

friend Alembic::AbcGeom::ALEMBIC_VERSION_NS::ITypedGeomParam::Sample::ITypedGeomParam< TRAITS >
class Sample

Public Types

typedef Sample this_type

Public Functions

Sample()
Abc::P3fArraySamplePtr getPositions() const
Abc::V3fArraySamplePtr getVelocities() const
Abc::Int32ArraySamplePtr getFaceIndices() const
Abc::Int32ArraySamplePtr getFaceCounts() const
Abc::Box3d getSelfBounds() const
bool valid() const
void reset()
ALEMBIC_OPERATOR_BOOL(valid())

Protected Attributes

Abc::P3fArraySamplePtr m_positions
Abc::V3fArraySamplePtr m_velocities
Abc::Int32ArraySamplePtr m_indices
Abc::Int32ArraySamplePtr m_counts
Abc::Box3d m_selfBounds

Friends

friend Alembic::AbcGeom::ALEMBIC_VERSION_NS::IPolyMeshSchema::Sample::IPolyMeshSchema
class Sample

Public Types

typedef >
type Sample Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::this_type

Public Functions

template<>
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::Sample()
template<>
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::Sample(const Abc::TypedArraySample<TRAITS> &iVals, GeometryScope iScope)
template<>
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::Sample(const Abc::TypedArraySample<TRAITS> &iVals, const Abc::UInt32ArraySample &iIndices, GeometryScope iScope)
template<>
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::setVals(const Abc::TypedArraySample<TRAITS> &iVals)
template<>
const Abc::TypedArraySample<TRAITS> &Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::getVals() const
template<>
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::setIndices(const Abc::UInt32ArraySample &iIndices)
template<>
const Abc::UInt32ArraySample &Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::getIndices() const
template<>
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::setScope(GeometryScope iScope)
template<>
GeometryScope Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::getScope() const
template<>
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::reset()
template<>
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::valid() const
template<>
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::ALEMBIC_OPERATOR_BOOL(valid())

Protected Attributes

template<>
Abc::TypedArraySample<TRAITS> Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::m_vals
template<>
Abc::UInt32ArraySample Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::m_indices
template<>
GeometryScope Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam<TRAITS>::Sample::m_scope
class Sample

Public Functions

Sample()

Creates a default sample with no data in it. ...

Sample(const Abc::P3fArraySample &iPositions, const Abc::Int32ArraySample &iFaceIndices, const Abc::Int32ArraySample &iFaceCounts, const Abc::Int32ArraySample &iCreaseIndices = Abc::Int32ArraySample(), const Abc::Int32ArraySample &iCreaseLengths = Abc::Int32ArraySample(), const Abc::FloatArraySample &iCreaseSharpnesses = Abc::FloatArraySample(), const Abc::Int32ArraySample &iCornerIndices = Abc::Int32ArraySample(), const Abc::FloatArraySample &iCornerSharpnesses = Abc::FloatArraySample(), const Abc::Int32ArraySample &iHoles = Abc::Int32ArraySample())

Creates a sample with position data, index data, and count data. For specifying samples with an explicit topology. The first sample must be full like this. Subsequent samples may also be full like this, which would indicate a change of topology

const Abc::P3fArraySample &getPositions() const
void setPositions(const Abc::P3fArraySample &iSmp)
const Abc::Int32ArraySample &getFaceIndices() const
void setFaceIndices(const Abc::Int32ArraySample &iSmp)
const Abc::Int32ArraySample &getFaceCounts() const
void setFaceCounts(const Abc::Int32ArraySample &iCnt)
int32_t getFaceVaryingInterpolateBoundary() const
void setFaceVaryingInterpolateBoundary(int32_t i)
int32_t getFaceVaryingPropagateCorners() const
void setFaceVaryingPropagateCorners(int32_t i)
int32_t getInterpolateBoundary() const
void setInterpolateBoundary(int32_t i)
const Abc::Int32ArraySample &getCreaseIndices() const
void setCreaseIndices(const Abc::Int32ArraySample &iCreaseIndices)
const Abc::Int32ArraySample &getCreaseLengths() const
void setCreaseLengths(const Abc::Int32ArraySample &iCreaseLengths)
const Abc::FloatArraySample &getCreaseSharpnesses() const
void setCreaseSharpnesses(const Abc::FloatArraySample &iCreaseSharpnesses)
void setCreases(const Abc::Int32ArraySample &iCreaseIndices, const Abc::Int32ArraySample &iCreaseLengths)
void setCreases(const Abc::Int32ArraySample &iCreaseIndices, const Abc::Int32ArraySample &iCreaseLengths, const Abc::FloatArraySample &iCreaseSharpnesses)
const Abc::Int32ArraySample &getCornerIndices() const
void setCornerIndices(const Abc::Int32ArraySample &iCornerIndices)
const Abc::FloatArraySample &getCornerSharpnesses() const
void setCornerSharpnesses(const Abc::FloatArraySample &iCornerSharpnesses)
void setCorners(const Abc::Int32ArraySample &iCornerIndices, const Abc::FloatArraySample &iCornerSharpnesses)
const Abc::Int32ArraySample &getHoles() const
void setHoles(const Abc::Int32ArraySample &iHoles)
std::string getSubdivisionScheme() const
void setSubdivisionScheme(const std::string &iScheme)
const Abc::Box3d &getSelfBounds() const
void setSelfBounds(const Abc::Box3d &iBnds)
const Abc::V3fArraySample &getVelocities() const
void setVelocities(const Abc::V3fArraySample &iVelocities)
const OV2fGeomParam::Sample &getUVs() const
void setUVs(const OV2fGeomParam::Sample &iUVs)
void reset()

Protected Attributes

Abc::P3fArraySample m_positions
Abc::Int32ArraySample m_faceIndices
Abc::Int32ArraySample m_faceCounts
int32_t m_faceVaryingInterpolateBoundary
int32_t m_faceVaryingPropagateCorners
int32_t m_interpolateBoundary
Abc::Int32ArraySample m_creaseIndices
Abc::Int32ArraySample m_creaseLengths
Abc::FloatArraySample m_creaseSharpnesses
Abc::Int32ArraySample m_cornerIndices
Abc::FloatArraySample m_cornerSharpnesses
Abc::Int32ArraySample m_holes
std::string m_subdScheme
Abc::Box3d m_selfBounds
Abc::V3fArraySample m_velocities
OV2fGeomParam::Sample m_uvs

Friends

friend Alembic::AbcGeom::ALEMBIC_VERSION_NS::OSubDSchema::Sample::OSubDSchema
class Sample

Public Functions

Sample()

Creates a default sample with no data in it. ...

Sample(const Abc::P3fArraySample &iPos, const Abc::V3fArraySample &iVelocities = Abc::V3fArraySample(), const OFloatGeomParam::Sample &iWidths = OFloatGeomParam::Sample())

Creates a sample with position data but no id data. For specifying samples after the first one

Sample(const Abc::P3fArraySample &iPos, const Abc::UInt64ArraySample &iId, const Abc::V3fArraySample &iVelocities = Abc::V3fArraySample(), const OFloatGeomParam::Sample &iWidths = OFloatGeomParam::Sample())

Creates a sample with position data and id data. The first sample must be full like this. Subsequent samples may also be full like this, which would indicate a change of topology

const Abc::P3fArraySample &getPositions() const
void setPositions(const Abc::P3fArraySample &iSmp)
const Abc::UInt64ArraySample &getIds() const
void setIds(const Abc::UInt64ArraySample &iSmp)
const Abc::V3fArraySample &getVelocities() const
void setVelocities(const Abc::V3fArraySample &iVelocities)
const OFloatGeomParam::Sample &getWidths() const
void setWidths(const OFloatGeomParam::Sample &iWidths)
const Abc::Box3d &getSelfBounds() const
void setSelfBounds(const Abc::Box3d &iBnds)
void reset()

Protected Attributes

Abc::P3fArraySample m_positions
Abc::V3fArraySample m_velocities
Abc::UInt64ArraySample m_ids
OFloatGeomParam::Sample m_widths
Abc::Box3d m_selfBounds
class Sample

Public Types

typedef Sample this_type

Public Functions

Sample()
Abc::Box3d getSelfBounds() const
void reset()

Protected Attributes

Abc::Box3d m_selfBounds

Friends

friend Alembic::AbcGeom::ALEMBIC_VERSION_NS::IGeomBase::Sample::IGeomBase
class Sample

Public Types

typedef Sample this_type

Public Functions

Sample()
Abc::P3fArraySamplePtr getPositions() const
Abc::UInt64ArraySamplePtr getIds() const
Abc::V3fArraySamplePtr getVelocities() const
Abc::Box3d getSelfBounds() const
bool valid() const
void reset()
ALEMBIC_OPERATOR_BOOL(valid())

Protected Attributes

Abc::P3fArraySamplePtr m_positions
Abc::UInt64ArraySamplePtr m_ids
Abc::V3fArraySamplePtr m_velocities
Abc::Box3d m_selfBounds

Friends

friend Alembic::AbcGeom::ALEMBIC_VERSION_NS::IPointsSchema::Sample::IPointsSchema
class Sample

Public Types

typedef Sample this_type

Public Functions

Sample()

Creates a default sample with no data in it. ...

Sample(const Abc::Int32ArraySample &iFaceNums)

Creates a sample with the list of faces that are in this faceset. The array of face numbers MUST be ordered by face number. Code that reads and works with facesets depends on this for efficency. e.g. call std::sort (myVecOfFaces.begin (), myVecOfFaces.end ()); if you need to. The sample must be complete like this. Subsequent samples may also consist of faces which allows you to change of topology of the faceset.

const Abc::Int32ArraySample &getFaces() const
void setFaces(const Abc::Int32ArraySample &iFaces)
const Abc::Box3d &getSelfBounds() const
void setSelfBounds(const Abc::Box3d &iBnds)
void reset()

Protected Attributes

Abc::Int32ArraySample m_faces
Abc::Box3d m_selfBounds
class Sample

Public Types

typedef Sample this_type

Public Functions

Sample()

Users never create this data directly.

Abc::P3fArraySamplePtr getPositions() const
Abc::Int32ArraySamplePtr getFaceIndices() const
Abc::Int32ArraySamplePtr getFaceCounts() const
int32_t getFaceVaryingInterpolateBoundary() const
int32_t getFaceVaryingPropagateCorners() const
int32_t getInterpolateBoundary() const
Abc::Int32ArraySamplePtr getCreaseIndices() const
Abc::Int32ArraySamplePtr getCreaseLengths() const
Abc::FloatArraySamplePtr getCreaseSharpnesses() const
Abc::Int32ArraySamplePtr getCornerIndices() const
Abc::FloatArraySamplePtr getCornerSharpnesses() const
Abc::Int32ArraySamplePtr getHoles() const
std::string getSubdivisionScheme() const
Abc::V3fArraySamplePtr getVelocities() const
Abc::Box3d getSelfBounds() const
bool valid() const
void reset()
ALEMBIC_OPERATOR_BOOL(valid())

Protected Attributes

Abc::P3fArraySamplePtr m_positions
Abc::V3fArraySamplePtr m_velocities
Abc::Int32ArraySamplePtr m_faceIndices
Abc::Int32ArraySamplePtr m_faceCounts
int32_t m_faceVaryingInterpolateBoundary
int32_t m_faceVaryingPropagateCorners
int32_t m_interpolateBoundary
Abc::Int32ArraySamplePtr m_creaseIndices
Abc::Int32ArraySamplePtr m_creaseLengths
Abc::FloatArraySamplePtr m_creaseSharpnesses
Abc::Int32ArraySamplePtr m_cornerIndices
Abc::FloatArraySamplePtr m_cornerSharpnesses
Abc::Int32ArraySamplePtr m_holes
std::string m_subdScheme
Abc::Box3d m_selfBounds

Friends

friend Alembic::AbcGeom::ALEMBIC_VERSION_NS::ISubDSchema::Sample::ISubDSchema
class Sample

Public Functions

Sample()

Creates a default sample with no data in it. ...

Sample(const Abc::P3fArraySample &iPos)

Creates a sample with position data but no index or count data. For specifying samples after the first one

Sample(const Abc::P3fArraySample &iPos, const Abc::Int32ArraySample &iInd, const Abc::Int32ArraySample &iCnt, const OV2fGeomParam::Sample &iUVs = OV2fGeomParam::Sample(), const ON3fGeomParam::Sample &iNormals = ON3fGeomParam::Sample())

Creates a sample with position data, index data, count data, and optional UV and Normals data. For specifying samples with an explicit topology. The first sample must be full like this. Subsequent samples may also be full like this, which would indicate a change of topology

const Abc::P3fArraySample &getPositions() const
void setPositions(const Abc::P3fArraySample &iSmp)
const Abc::V3fArraySample &getVelocities() const
void setVelocities(const Abc::V3fArraySample &iVelocities)
const Abc::Int32ArraySample &getFaceIndices() const
void setFaceIndices(const Abc::Int32ArraySample &iSmp)
const Abc::Int32ArraySample &getFaceCounts() const
void setFaceCounts(const Abc::Int32ArraySample &iCnt)
const Abc::Box3d &getSelfBounds() const
void setSelfBounds(const Abc::Box3d &iBnds)
const OV2fGeomParam::Sample &getUVs() const
void setUVs(const OV2fGeomParam::Sample &iUVs)
const ON3fGeomParam::Sample &getNormals() const
void setNormals(const ON3fGeomParam::Sample &iNormals)
void reset()

Protected Attributes

Abc::P3fArraySample m_positions
Abc::Int32ArraySample m_indices
Abc::Int32ArraySample m_counts
Abc::Box3d m_selfBounds
Abc::V3fArraySample m_velocities
OV2fGeomParam::Sample m_uvs
ON3fGeomParam::Sample m_normals
class Sample

Public Functions

Sample()

Creates a default sample with no data in it. ...

Sample(const Abc::P3fArraySample &iPos)

Creates a sample with position data but no index or count data. For specifying samples after the first one

Sample(const Abc::P3fArraySample &iPos, const Abc::Int32ArraySample &iNVertices, const CurveType &iType = kCubic, const CurvePeriodicity iWrap = kNonPeriodic, const OFloatGeomParam::Sample &iWidths = OFloatGeomParam::Sample(), const OV2fGeomParam::Sample &iUVs = OV2fGeomParam::Sample(), const ON3fGeomParam::Sample &iNormals = ON3fGeomParam::Sample(), const BasisType &iBasis = kBezierBasis, const Abc::FloatArraySample &iPosWeight = Abc::FloatArraySample(), const Abc::UcharArraySample &iOrders = Abc::UcharArraySample(), const Abc::FloatArraySample &iKnots = Abc::FloatArraySample())

Creates a sample with position data, index data, count data, and optional UV and Normals data. For specifying samples with an explicit topology. The first sample must be full like this. Subsequent samples may also be full like this, which would indicate a change of topology

const OFloatGeomParam::Sample &getWidths() const
void setWidths(const OFloatGeomParam::Sample &iWidths)
const Abc::P3fArraySample &getPositions() const
void setPositions(const Abc::P3fArraySample &iSmp)
const Abc::FloatArraySample &getPositionWeights() const
void setType(const CurveType &iType)
CurveType getType() const
void setWrap(const CurvePeriodicity &iWrap)
CurvePeriodicity getWrap() const
std::size_t getNumCurves() const
void setCurvesNumVertices(const Abc::Int32ArraySample &iNVertices)

an array of ints that corresponds to the number of vertices per curve

const Abc::Int32ArraySample &getCurvesNumVertices() const
const OV2fGeomParam::Sample &getUVs() const
void setUVs(const OV2fGeomParam::Sample &iUVs)
const Abc::Box3d &getSelfBounds() const
void setSelfBounds(const Abc::Box3d &iBnds)
const Abc::V3fArraySample &getVelocities() const
void setVelocities(const Abc::V3fArraySample &iVelocities)
const ON3fGeomParam::Sample &getNormals() const
void setNormals(const ON3fGeomParam::Sample &iNormals)
BasisType getBasis() const
void setBasis(const BasisType &iBasis)
const Abc::UcharArraySample &getOrders() const
void setOrders(const Abc::UcharArraySample &iOrders)
const Abc::FloatArraySample &getKnots() const
void setKnots(const Abc::FloatArraySample &iKnots)
void reset()

Protected Attributes

Abc::P3fArraySample m_positions
Abc::V3fArraySample m_velocities
Abc::Int32ArraySample m_nVertices
CurveType m_type
CurvePeriodicity m_wrap
OFloatGeomParam::Sample m_widths
OV2fGeomParam::Sample m_uvs
ON3fGeomParam::Sample m_normals
BasisType m_basis
Abc::FloatArraySample m_positionWeights
Abc::UcharArraySample m_orders
Abc::FloatArraySample m_knots
Abc::Box3d m_selfBounds
class Sample

Public Functions

Sample()

Creates a default sample with no data in it. ...

Sample(const Abc::P3fArraySample &iPos, const int32_t &iNumU, const int32_t &iNumV, const int32_t &iUOrder, const int32_t &iVOrder, const Abc::FloatArraySample &iUKnot, const Abc::FloatArraySample &iVKnot, const ON3fGeomParam::Sample &iNormals = ON3fGeomParam::Sample(), const OV2fGeomParam::Sample &iUVs = OV2fGeomParam::Sample(), const Abc::FloatArraySample &iPosWeight = Abc::FloatArraySample())
const Abc::P3fArraySample &getPositions() const
void setPositions(const Abc::P3fArraySample &iSmp)
const Abc::FloatArraySample &getPositionWeights() const
void setPositionWeights(const Abc::FloatArraySample &iSmp)
int32_t getNu() const
void setNu(const int32_t iNu)
int32_t getNv() const
void setNv(const int32_t iNv)
int32_t getUOrder() const
void setUOrder(const int32_t iUOrder)
int32_t getVOrder() const
void setVOrder(const int32_t iVOrder)
const Abc::FloatArraySample &getUKnot() const
void setUKnot(const Abc::FloatArraySample &iUKnot)
const Abc::FloatArraySample &getVKnot() const
void setVKnot(const Abc::FloatArraySample &iVKnot)
const OV2fGeomParam::Sample &getUVs() const
void setUVs(const OV2fGeomParam::Sample &iUVs)
const ON3fGeomParam::Sample &getNormals() const
void setNormals(const ON3fGeomParam::Sample &iNormals)
const Abc::Box3d &getSelfBounds() const
void setSelfBounds(const Abc::Box3d &iBnds)
const Abc::V3fArraySample &getVelocities() const
void setVelocities(const Abc::V3fArraySample &iVelocities)
void setTrimCurve(const int32_t i_trim_nLoops, const Abc::Int32ArraySample &i_trim_nCurves, const Abc::Int32ArraySample &i_trim_n, const Abc::Int32ArraySample &i_trim_order, const Abc::FloatArraySample &i_trim_knot, const Abc::FloatArraySample &i_trim_min, const Abc::FloatArraySample &i_trim_max, const Abc::FloatArraySample &i_trim_u, const Abc::FloatArraySample &i_trim_v, const Abc::FloatArraySample &i_trim_w)
int32_t getTrimNumLoops() const
const Abc::Int32ArraySample &getTrimNumCurves() const
const Abc::Int32ArraySample &getTrimNumVertices() const
const Abc::Int32ArraySample &getTrimOrder() const
const Abc::FloatArraySample &getTrimKnot() const
const Abc::FloatArraySample &getTrimMin() const
const Abc::FloatArraySample &getTrimMax() const
const Abc::FloatArraySample &getTrimU() const
const Abc::FloatArraySample &getTrimV() const
const Abc::FloatArraySample &getTrimW() const
bool hasTrimCurve() const
void reset()

Protected Attributes

Abc::P3fArraySample m_positions
Abc::V3fArraySample m_velocities
int32_t m_numU
int32_t m_numV
int32_t m_uOrder
int32_t m_vOrder
Abc::FloatArraySample m_uKnot
Abc::FloatArraySample m_vKnot
Abc::FloatArraySample m_positionWeights
ON3fGeomParam::Sample m_normals
OV2fGeomParam::Sample m_uvs
int32_t m_trimNumLoops
Abc::Int32ArraySample m_trimNumCurves
Abc::Int32ArraySample m_trimNumVertices
Abc::Int32ArraySample m_trimOrder
Abc::FloatArraySample m_trimKnot
Abc::FloatArraySample m_trimMin
Abc::FloatArraySample m_trimMax
Abc::FloatArraySample m_trimU
Abc::FloatArraySample m_trimV
Abc::FloatArraySample m_trimW
bool m_hasTrimCurve
Abc::Box3d m_selfBounds
class XformOp
#include <XformOp.h>

Xform Operation This class holds the data about a particular transform operation, but does not hold the actual data to calculate a 4x4 matrix. It holds the type of operation (Translate, Rotate, Scale, Matrix), a hint about the type which can be interpreted by packages like Maya, and what particular parts of the operations can change over time.

Public Functions

XformOp()
XformOp(const XformOperationType iType, const Alembic::Util::uint8_t iHint = 0)
XformOp(const Alembic::Util::uint8_t iEncodedOp)
XformOperationType getType() const

Get the type of transform operation. (Translate, Rotate, Scale, Matrix).

void setType(const XformOperationType iType)

Set the type of transform operation. (Translate, Rotate, Scale, Matrix) Setting the type resets the hint, and sets all the channels to static.

Alembic::Util::uint8_t getHint() const

Get the MatrixHint, RotateHint, TranslateHint, or ScaleHint to help disambiguate certain options that may have the same type.

void setHint(const Alembic::Util::uint8_t iHint)

Set the hint, if it is an illegal value for the type, then the hint is set to the default, 0.

bool isXAnimated() const

Returns whether the x component (index 0) is animated. Only meaningful on read.

bool isYAnimated() const

Returns whether the y component (index 1) is animated. Only meaningful on read.

bool isZAnimated() const

Returns whether the z component (index 2) is animated. Only meaningful on read.

bool isAngleAnimated() const

Returns whether the angle component (index 3) is animated. Since Scale and Translate do not have an angle component, false is returned for those types. Only meaningful on read.

bool isChannelAnimated(std::size_t iIndex) const

Returns whether a particular channel is animated. Scale and Translate only have 3 channels, Rotate has 4, and Matrix has 16. Indices greater than the number of channels will return false. Only meaningful on read.

std::size_t getNumChannels() const

Get the number of components that this operation has based on the type. Translate and Scale have 3, Rotate has 4 and Matrix has 16, and single-axis rotate ops (rotateX, rotateY, rotateZ) have 1.

double getDefaultChannelValue(std::size_t iIndex) const

For every channel, there’s a default value. Typically, for each op type, it’s the same across channels. But matrix ops have different defaults to allow the identity matrix to be defaulted (most channels there are 0.0, the determinant channels are 1.0).

double getChannelValue(std::size_t iIndex) const
void setChannelValue(std::size_t iIndex, double iVal)

Set a single channel; will throw if iIndex is greater than numchannels - 1.

void setVector(const Abc::V3d &iVec)
void setTranslate(const Abc::V3d &iTrans)
void setScale(const Abc::V3d &iScale)
void setAxis(const Abc::V3d &iAxis)
void setAngle(const double iAngle)
void setMatrix(const Abc::M44d &iMatrix)
void setXRotation(const double iAngle)
void setYRotation(const double iAngle)
void setZRotation(const double iAngle)
Abc::V3d getVector() const
Abc::V3d getTranslate() const
Abc::V3d getScale() const
Abc::V3d getAxis() const
double getAngle() const
Abc::M44d getMatrix() const
double getXRotation() const
double getYRotation() const
double getZRotation() const
bool isTranslateOp() const
bool isScaleOp() const
bool isRotateOp() const
bool isMatrixOp() const
bool isRotateXOp() const
bool isRotateYOp() const
bool isRotateZOp() const
Alembic::Util::uint8_t getOpEncoding() const

Function for returning the combined encoded type and hint. The type is in the first four bits, the hint in the second.

This is not really intended for use by human clients of this class.

Private Members

XformOperationType m_type
Alembic::Util::uint8_t m_hint
std::vector<double> m_channels
std::set<Alembic::Util::uint32_t> m_animChannels

Friends

friend Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::IXformSchema

The IXform can tell the op if its channels are animated by directly inserting keys into the m_animChannels set.

class XformSample

Public Functions

XformSample()
std::size_t addOp(XformOp iTransOrScaleOp, const Abc::V3d &iVal)
std::size_t addOp(XformOp iRotateOp, const Abc::V3d &iAxis, const double iAngleInDegrees)
std::size_t addOp(XformOp iMatrixOp, const Abc::M44d &iMatrix)
std::size_t addOp(XformOp iSingleRotateOp, const double iSingleAxisRotationInDegrees)
std::size_t addOp(const XformOp &iOp)
XformOp getOp(const std::size_t iIndex) const
XformOp &operator[](const std::size_t &iIndex)
const