37 #ifndef Alembic_AbcGeom_XformOp_h
38 #define Alembic_AbcGeom_XformOp_h
126 const Alembic::Util::uint8_t iHint = 0 );
128 XformOp(
const Alembic::Util::uint8_t iEncodedOp );
139 Alembic::Util::uint8_t getHint()
const;
143 void setHint(
const Alembic::Util::uint8_t iHint );
147 bool isXAnimated()
const;
151 bool isYAnimated()
const;
155 bool isZAnimated()
const;
161 bool isAngleAnimated()
const;
168 bool isChannelAnimated( std::size_t iIndex )
const;
173 std::size_t getNumChannels()
const;
179 double getDefaultChannelValue( std::size_t iIndex )
const;
181 double getChannelValue( std::size_t iIndex )
const;
185 void setChannelValue( std::size_t iIndex,
double iVal );
187 void setVector(
const Abc::V3d &iVec );
188 void setTranslate(
const Abc::V3d &iTrans );
189 void setScale(
const Abc::V3d &iScale );
190 void setAxis(
const Abc::V3d &iAxis );
191 void setAngle(
const double iAngle );
192 void setMatrix(
const Abc::M44d &iMatrix );
194 void setXRotation(
const double iAngle );
195 void setYRotation(
const double iAngle );
196 void setZRotation(
const double iAngle );
203 double getAngle()
const;
206 double getXRotation()
const;
207 double getYRotation()
const;
208 double getZRotation()
const;
210 bool isTranslateOp()
const;
212 bool isScaleOp()
const;
214 bool isRotateOp()
const;
216 bool isMatrixOp()
const;
218 bool isRotateXOp()
const;
219 bool isRotateYOp()
const;
220 bool isRotateZOp()
const;
226 Alembic::Util::uint8_t getOpEncoding()
const;
231 Alembic::Util::uint8_t m_hint;
233 std::vector<double> m_channels;
235 std::set<Alembic::Util::uint32_t> m_animChannels;
std::vector< XformOp > XformOpVec
Translation used for rotating around the pivot point.
Matrix44< double > M44d
4x4 matrix of double
Vec3< double > V3d
Vec3 of double.
MatrixHint
The Matrix identifier hint. Some 3d packages (like Maya) may have certain transformation operations t...
TranslateHint
The Translation identifier hint. Some 3d packages (like Maya) have multiple transformation operations...
Default regular rotation.
XformOperationType
Enum that indicates the type of transformational operation. This enum is used when encoding and decod...
ScaleHint
The Scale identifier hint. Some 3d packages (like Maya) have multiple transformation operations that ...
RotateHint
The Rotate identifier hint. Some 3d packages (like Maya) have multiple rotation operations that are m...
Translation used for scaling around a pivot point.
Vec3< typename MatType::value_type > getScale(const MatType &mat)
Return a Vec3 representing the lengths of the passed matrix's upper 3×3's rows.
Matrix represents Maya's version of Shear.
Default, regular translation.
#define ALEMBIC_VERSION_NS