#include <ObjectManipulatorProxy.h>
Public Member Functions | |
ObjectManipulatorProxy () | |
~ObjectManipulatorProxy (void) | |
void | setCurrentObject (SceneObject *object) |
pridružuje manipulacijski čvor nekom objektu iz scene | |
bool | manipulationAxis (osg::Node *lockingAxis) |
definira os za manipulaciju transformacijom nad objektom | |
void | reset () |
bool | isActive () |
ObjectManipulatorNode * | getManipulatorNode () |
osg::Vec3d | handleTranslation (int x, int y, osg::Camera *camera) |
metoda obrađuje proširenu translaciju na temelju operacija mišem | |
osg::Vec3d | handleRotation (int x, int y, osg::Camera *camera) |
metoda obrađuje proširenu rotaciju na temelju operacija mišem | |
osg::Vec3d | handleScale (int x, int y, osg::Camera *camera) |
metoda obrađuje prošireno skaliranje na temelju operacija mišem | |
void | translationSetup (osg::Camera *camera) |
inicijalizacija manipulacijskog koordinatnog sustava za translaciju | |
void | rotationSetup (osg::Camera *camera) |
inicijalizacija manipulacijskog koordinatnog sustava za rotaciju | |
void | scaleSetup (osg::Camera *camera) |
inicijalizacija manipulacijskog koordinatnog sustava za skaliranje | |
osg::Vec3 | getPosition () |
vraća poziciju objekta dodijeljenog manipulacijskom posredniku | |
osg::Vec3 | getOrientation () |
vraća orijentaciju objekta dodijeljenog manipulacijskom posredniku | |
osg::Quat | getOrientationAsQuaternion () |
vraća orijentaciju objekta dodijeljenog manipulacijskom posredniku | |
osg::Vec3 | getScale () |
vraća dimenzije skaliranja objekta dodijeljenog manipulacijskom posredniku | |
void | setPosition (const osg::Vec3d &position) |
postavlja poziciju objekta dodijeljenog manipulacijskom posredniku | |
void | setOrientation (const osg::Vec3d &orientation) |
postavlja orijentaciju objekta dodijeljenog manipulacijskom posredniku | |
void | setScale (const osg::Vec3d &scale) |
postavlja dimenzije skaliranja objekta dodijeljenog manipulacijskom posredniku | |
double | getBoundingRadius () const |
vraća polumjer obujmice objekta | |
Protected Member Functions | |
osg::Vec3d | getProjectedVector (int x, int y, osg::Vec3d ¢er, osg::Vec3d &normal, osg::Camera *camera) |
vraća vektor projiciran na ravninu definranu točkom | |
osg::Vec3d & | getMinAngleVector (osg::Vec3d &v1, osg::Vec3d &v2, osg::Vec3d &ref) |
Protected Attributes | |
osg::Vec3d | _lockAxisDirection |
osg::Vec3d | _manipulationAxisDirection |
osg::Vec3d | _perpendicularAxisDirection |
osg::Vec3d | _position |
osg::Vec3d | _orientation |
osg::Vec3d | _scale |
axis | _lockAxis |
axis | _manipulationAxis |
axis | _freeAxis |
ObjectManipulatorNode * | _objectManipulatorNode |
osg::ref_ptr< osg::Group > | _manipulatorNodeFakePointer |
sprječava brisanje manipulacijskog koordinatnog sustava | |
SceneObject * | _currentObject |
SceneManager & | _sceneManager |
Posrednička klasa za manipuliranje objektima. Sve transformacijske promjene nad objektima scene moraju proći kroz ovaj objekt. Jednostavne transformacije se prosljeđuju objektu scene, a funkcije proširenih alata za transformiranje objekata se obrađuju i svode na jednostavne transformacije
ObjectManipulatorProxy::ObjectManipulatorProxy | ( | ) |
ObjectManipulatorProxy::~ObjectManipulatorProxy | ( | void | ) |
double ObjectManipulatorProxy::getBoundingRadius | ( | ) | const |
vraća polumjer obujmice objekta
ObjectManipulatorNode * ObjectManipulatorProxy::getManipulatorNode | ( | ) |
osg::Vec3d & ObjectManipulatorProxy::getMinAngleVector | ( | osg::Vec3d & | v1, | |
osg::Vec3d & | v2, | |||
osg::Vec3d & | ref | |||
) | [protected] |
osg::Vec3 ObjectManipulatorProxy::getOrientation | ( | ) |
vraća orijentaciju objekta dodijeljenog manipulacijskom posredniku
osg::Quat ObjectManipulatorProxy::getOrientationAsQuaternion | ( | ) |
vraća orijentaciju objekta dodijeljenog manipulacijskom posredniku
osg::Vec3 ObjectManipulatorProxy::getPosition | ( | ) |
vraća poziciju objekta dodijeljenog manipulacijskom posredniku
osg::Vec3d ObjectManipulatorProxy::getProjectedVector | ( | int | x, | |
int | y, | |||
osg::Vec3d & | center, | |||
osg::Vec3d & | normal, | |||
osg::Camera * | camera | |||
) | [protected] |
vraća vektor projiciran na ravninu definranu točkom
center | i normalom |
osg::Vec3 ObjectManipulatorProxy::getScale | ( | ) |
vraća dimenzije skaliranja objekta dodijeljenog manipulacijskom posredniku
osg::Vec3d ObjectManipulatorProxy::handleRotation | ( | int | x, | |
int | y, | |||
osg::Camera * | camera | |||
) |
metoda obrađuje proširenu rotaciju na temelju operacija mišem
osg::Vec3d ObjectManipulatorProxy::handleScale | ( | int | x, | |
int | y, | |||
osg::Camera * | camera | |||
) |
metoda obrađuje prošireno skaliranje na temelju operacija mišem
osg::Vec3d ObjectManipulatorProxy::handleTranslation | ( | int | x, | |
int | y, | |||
osg::Camera * | camera | |||
) |
metoda obrađuje proširenu translaciju na temelju operacija mišem
bool ObjectManipulatorProxy::isActive | ( | ) |
bool ObjectManipulatorProxy::manipulationAxis | ( | osg::Node * | lockingAxis | ) |
definira os za manipulaciju transformacijom nad objektom
void ObjectManipulatorProxy::reset | ( | ) |
void ObjectManipulatorProxy::rotationSetup | ( | osg::Camera * | camera | ) |
inicijalizacija manipulacijskog koordinatnog sustava za rotaciju
void ObjectManipulatorProxy::scaleSetup | ( | osg::Camera * | camera | ) |
inicijalizacija manipulacijskog koordinatnog sustava za skaliranje
void ObjectManipulatorProxy::setCurrentObject | ( | SceneObject * | object | ) |
pridružuje manipulacijski čvor nekom objektu iz scene
void ObjectManipulatorProxy::setOrientation | ( | const osg::Vec3d & | orientation | ) |
postavlja orijentaciju objekta dodijeljenog manipulacijskom posredniku
void ObjectManipulatorProxy::setPosition | ( | const osg::Vec3d & | position | ) |
postavlja poziciju objekta dodijeljenog manipulacijskom posredniku
void ObjectManipulatorProxy::setScale | ( | const osg::Vec3d & | scale | ) |
postavlja dimenzije skaliranja objekta dodijeljenog manipulacijskom posredniku
void ObjectManipulatorProxy::translationSetup | ( | osg::Camera * | camera | ) |
inicijalizacija manipulacijskog koordinatnog sustava za translaciju
SceneObject* ObjectManipulatorProxy::_currentObject [protected] |
axis ObjectManipulatorProxy::_freeAxis [protected] |
axis ObjectManipulatorProxy::_lockAxis [protected] |
osg::Vec3d ObjectManipulatorProxy::_lockAxisDirection [protected] |
axis ObjectManipulatorProxy::_manipulationAxis [protected] |
osg::Vec3d ObjectManipulatorProxy::_manipulationAxisDirection [protected] |
osg::ref_ptr<osg::Group> ObjectManipulatorProxy::_manipulatorNodeFakePointer [protected] |
sprječava brisanje manipulacijskog koordinatnog sustava
osg::Vec3d ObjectManipulatorProxy::_orientation [protected] |
osg::Vec3d ObjectManipulatorProxy::_perpendicularAxisDirection [protected] |
osg::Vec3d ObjectManipulatorProxy::_position [protected] |
osg::Vec3d ObjectManipulatorProxy::_scale [protected] |
SceneManager& ObjectManipulatorProxy::_sceneManager [protected] |