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.
More...
#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.
Definition at line 120 of file XformOp.h.
Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::XformOp |
( |
| ) |
|
Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::XformOp |
( |
const XformOperationType |
iType, |
|
|
const Alembic::Util::uint8_t |
iHint = 0 |
|
) |
| |
Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::XformOp |
( |
const Alembic::Util::uint8_t |
iEncodedOp | ) |
|
double Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::getAngle |
( |
| ) |
const |
Abc::V3d Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::getAxis |
( |
| ) |
const |
double Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::getChannelValue |
( |
std::size_t |
iIndex | ) |
const |
double Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::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).
Alembic::Util::uint8_t Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::getHint |
( |
| ) |
const |
Get the MatrixHint, RotateHint, TranslateHint, or ScaleHint to help disambiguate certain options that may have the same type.
Abc::M44d Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::getMatrix |
( |
| ) |
const |
std::size_t Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::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.
Alembic::Util::uint8_t Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::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.
Abc::V3d Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::getScale |
( |
| ) |
const |
Abc::V3d Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::getTranslate |
( |
| ) |
const |
Get the type of transform operation. (Translate, Rotate, Scale, Matrix)
Abc::V3d Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::getVector |
( |
| ) |
const |
double Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::getXRotation |
( |
| ) |
const |
double Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::getYRotation |
( |
| ) |
const |
double Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::getZRotation |
( |
| ) |
const |
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::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 Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::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.
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::isMatrixOp |
( |
| ) |
const |
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::isRotateOp |
( |
| ) |
const |
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::isRotateXOp |
( |
| ) |
const |
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::isRotateYOp |
( |
| ) |
const |
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::isRotateZOp |
( |
| ) |
const |
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::isScaleOp |
( |
| ) |
const |
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::isTranslateOp |
( |
| ) |
const |
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::isXAnimated |
( |
| ) |
const |
Returns whether the x component (index 0) is animated. Only meaningful on read.
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::isYAnimated |
( |
| ) |
const |
Returns whether the y component (index 1) is animated. Only meaningful on read.
bool Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::isZAnimated |
( |
| ) |
const |
Returns whether the z component (index 2) is animated. Only meaningful on read.
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::setAngle |
( |
const double |
iAngle | ) |
|
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::setAxis |
( |
const Abc::V3d & |
iAxis | ) |
|
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::setChannelValue |
( |
std::size_t |
iIndex, |
|
|
double |
iVal |
|
) |
| |
Set a single channel; will throw if iIndex is greater than numchannels - 1.
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::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.
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::setMatrix |
( |
const Abc::M44d & |
iMatrix | ) |
|
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::setScale |
( |
const Abc::V3d & |
iScale | ) |
|
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::setTranslate |
( |
const Abc::V3d & |
iTrans | ) |
|
Set the type of transform operation. (Translate, Rotate, Scale, Matrix) Setting the type resets the hint, and sets all the channels to static.
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::setVector |
( |
const Abc::V3d & |
iVec | ) |
|
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::setXRotation |
( |
const double |
iAngle | ) |
|
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::setYRotation |
( |
const double |
iAngle | ) |
|
void Alembic::AbcGeom::ALEMBIC_VERSION_NS::XformOp::setZRotation |
( |
const double |
iAngle | ) |
|
The IXform can tell the op if its channels are animated by directly inserting keys into the m_animChannels set.
Definition at line 240 of file XformOp.h.
The documentation for this class was generated from the following file: