mf
Media Framework
|
Object that has a pose in 3D space relative to a coordinate system, base class. More...
#include <space_object.h>
Public Member Functions | |
space_object (const pose &=pose()) | |
space_object (const pose &, space_object &par) | |
space_object (const space_object &) | |
space_object & | operator= (const space_object &) |
virtual | ~space_object () |
bool | has_parent_space_object () const |
const space_object & | parent_space_object () const |
space_object & | parent_space_object () |
const pose & | relative_pose () const |
pose | absolute_pose () const |
void | set_relative_pose (const pose &) |
void | set_no_relative_pose () |
Eigen_affine3 | transformation_from (const space_object &) const |
Eigen_affine3 | transformation_to (const space_object &) const |
void | set_parent (space_object &, const pose &new_relative_pose=pose()) |
void | set_no_parent (const pose &new_pose=pose()) |
void | make_sibling (const space_object &, const pose &new_pose=pose()) |
template<typename Transformation > | |
void | transform (const Transformation &t) |
template<typename Transformation > | |
void | transform (const Transformation &rt, const space_object &relative_to) |
void | move (const Eigen_vec3 &t) |
void | move (float x, float y, float z) |
void | move_x (float x) |
void | move_y (float y) |
void | move_z (float z) |
void | rotate_x_axis (angle a, const Eigen_vec3 &c=Eigen_vec3::Zero()) |
void | rotate_y_axis (angle a, const Eigen_vec3 &c=Eigen_vec3::Zero()) |
void | rotate_z_axis (angle a, const Eigen_vec3 &c=Eigen_vec3::Zero()) |
void | look_at (const space_object &) |
virtual bounding_box | box () const |
Protected Member Functions | |
virtual void | do_update_pose () |
Object that has a pose in 3D space relative to a coordinate system, base class.
Can have a parent space object, meaning its pose will be defined relative to that parent. No parent means pose is absolute. Parent can be reassigned. Keeps references to its children, Guarantees that pointers to parent or children get properly removed when either child or parent gets deleted.
mf::space_object::space_object | ( | const pose & | ps, |
space_object & | par | ||
) |
mf::space_object::space_object | ( | const space_object & | obj | ) |
|
virtual |
pose mf::space_object::absolute_pose | ( | ) | const |
|
virtual |
|
inlineprotectedvirtual |
Reimplemented in mf::projection_camera.
bool mf::space_object::has_parent_space_object | ( | ) | const |
void mf::space_object::look_at | ( | const space_object & | obj | ) |
void mf::space_object::make_sibling | ( | const space_object & | obj, |
const pose & | new_pose = pose() |
||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
space_object & mf::space_object::operator= | ( | const space_object & | obj | ) |
const space_object & mf::space_object::parent_space_object | ( | ) | const |
space_object & mf::space_object::parent_space_object | ( | ) |
const pose & mf::space_object::relative_pose | ( | ) | const |
void mf::space_object::rotate_x_axis | ( | angle | a, |
const Eigen_vec3 & | c = Eigen_vec3::Zero() |
||
) |
void mf::space_object::rotate_y_axis | ( | angle | a, |
const Eigen_vec3 & | c = Eigen_vec3::Zero() |
||
) |
void mf::space_object::rotate_z_axis | ( | angle | a, |
const Eigen_vec3 & | c = Eigen_vec3::Zero() |
||
) |
|
inline |
void mf::space_object::set_parent | ( | space_object & | par, |
const pose & | new_relative_pose = pose() |
||
) |
void mf::space_object::set_relative_pose | ( | const pose & | ps | ) |
|
inline |
|
inline |
Eigen::Affine3f mf::space_object::transformation_from | ( | const space_object & | obj | ) | const |
Eigen::Affine3f mf::space_object::transformation_to | ( | const space_object & | obj | ) | const |