Operator that transforms geometric points. More...
Inherits DD::Image::GeoOp, and DD::Image::LookAt.
Public Member Functions | |
TransformGeo (Node *) | |
int | minimum_inputs () const |
int | maximum_inputs () const |
Op * | default_input (int input) const |
bool | test_input (int input, Op *) const |
const char * | input_label (int input, char *) const |
AxisOp * | axis_input () const |
virtual Op * | lookat_input () const |
override from LookAt | |
const Matrix4 & | matrix () const |
const Matrix4 & | concat_matrix () const |
virtual void | matrix (const Matrix4 &m) |
GeoOp * | concat_input () const |
void | knobs (Knob_Callback) |
int | knob_changed (Knob *k) |
const char * | Class () const |
const char * | node_help () const |
Static Public Attributes | |
static const Description | description |
Protected Member Functions | |
void | _validate (bool for_real) |
void | get_geometry_hash () |
void | geometry_engine (Scene &, GeometryList &out) |
void | build_handles (ViewerContext *) |
Protected Attributes | |
Matrix4 | matrix_ |
Object matrix - parent * local. | |
Matrix4 | concat_matrix_ |
Concatented input matrix * matrix_. | |
GeoOp * | concat_input_ |
Op this one concatenates its matrix with. |
Operator that transforms geometric points.
Op * TransformGeo::default_input | ( | int | input | ) | const [virtual] |
Return a null geo for input0 and NULL for any other.
Reimplemented from DD::Image::GeoOp.
bool TransformGeo::test_input | ( | int | input, |
Op * | op | ||
) | const [virtual] |
Only GeoOp allowed on zero, only AxisOp allowed on 1
Reimplemented from DD::Image::GeoOp.
void TransformGeo::_validate | ( | bool | for_real | ) | [protected, virtual] |
Validate our parent axis first, if any, then apply our local transform to that.
Reimplemented from DD::Image::GeoOp.
References concat_input_, concat_matrix_, DD::Image::LookAt::lookAt(), lookat_input(), matrix_, DD::Image::LookAt::my_local, DD::Image::Op::parent(), DD::Image::GeoOp::update_geometry_hashes(), and DD::Image::Op::validate().
void TransformGeo::get_geometry_hash | ( | ) | [protected, virtual] |
Hash the matrix so that any change causes the points to be invalid.
Reimplemented from DD::Image::GeoOp.
References DD::Image::Matrix4::append(), DD::Image::GeoOp::geo_hash, lookat_input(), DD::Image::LookAt::lookat_matrix_, and matrix_.
void TransformGeo::geometry_engine | ( | Scene & | scene, |
GeometryList & | out | ||
) | [protected, virtual] |
Apply the concat matrix to all the GeoInfos.
Reimplemented from DD::Image::GeoOp.
References concat_input_, concat_matrix_, DD::Image::GeoOp::get_geometry(), and DD::Image::GeometryList::size().
void TransformGeo::build_handles | ( | ViewerContext * | ctx | ) | [protected, virtual] |
The default GeoOp::build_handles will build a Scene object and draw it. This is not needed by TransformGeo, as it can just change the OpenGL transform and then ask the input to draw. Also the Axis knobs do not draw right unless it sets the transform for any parent transform.
Reimplemented from DD::Image::GeoOp.
References DD::Image::GeoOp::add_draw_geometry(), DD::Image::Op::add_input_handle(), DD::Image::Op::build_knob_handles(), DD::Image::CONNECTED, DD::Image::ViewerContext::connected(), matrix_, DD::Image::ViewerContext::modelmatrix, DD::Image::Op::node_disabled(), DD::Image::Op::parent(), DD::Image::SHOW_OBJECT, DD::Image::ViewerContext::transform_mode(), DD::Image::Op::validate(), DD::Image::VIEWER_2D, and DD::Image::ViewerContext::viewer_mode().