27 #include <osg/ref_ptr> 28 #include <osgManipulator/TrackballDragger> 44 Model(
const std::string &name );
45 Model(
const std::string &name,
const osg::Vec3 &color );
46 Model(
const std::string &name,
const osg::Vec4 &color );
47 Model(
const std::string &name ,
float r,
float g,
float b,
float a = 1.0 );
53 virtual osg::Group* getGroup()
const;
56 bool setModel(
const std::string& filename,
bool force_reload =
false );
57 osg::Node* getModel()
const {
return _model.get(); }
58 osg::Geode* getExtras()
const {
return _extras.get(); }
61 bool shareModel(
const Model* otherModel );
66 void setModelPosition(
const double &x,
const double &y,
const double &z );
68 void setModelPosition(
const osg::Vec3d &pos )
69 { _modelXform->setPosition(pos); }
71 void getModelPosition(
double &x,
double &y,
double &z )
const 72 { _modelXform->getPosition(x, y, z); }
74 void getModelPosition( osg::Vec3d &pos )
const 75 { _modelXform->getPosition(pos); }
79 { _modelXform->setAttitude(att); }
81 void getModelAttitude( osg::Quat &att )
const 82 { _modelXform->getAttitude(att); }
85 void setModelScale(
const double &sx,
const double &sy,
const double &sz);
87 void getModelScale(
double &sx,
double &sy,
double &sz )
const 89 _modelXform->getScale(sx, sy, sz);
95 void setModelPivot(
const double &px,
const double &py,
const double &pz);
97 void getModelPivot(
double &px,
double &py,
double &pz )
const 99 _modelXform->getPivot(px, py, pz);
107 void addDraggerCallback(osgManipulator::DraggerCallback* callback);
110 virtual const osg::BoundingSphere& getBound()
const;
116 void repositionAxes();
131 osg::ref_ptr<osgManipulator::TrackballDragger> _dragger;
132 osg::ref_ptr<osg::MatrixTransform> _draggerXform;
152 virtual bool receive(
const osgManipulator::MotionCommand& command);
155 osg::observer_ptr<FrameTransform> _modelXform;
160 #endif // !define _OF_MODEL_
Definition: CoordinateAxes.hpp:29
osg::ref_ptr< osg::Node > _model
Definition: Model.hpp:122
const FrameTransform * getModelTransform() const
Definition: Model.hpp:103
osg::ref_ptr< FrameTransform > _modelXform
Definition: Model.hpp:125
void setModelAttitude(const osg::Quat &att)
Definition: Model.hpp:78
A Reference Frame that contains a 3D model.
Definition: Model.hpp:41
Definition: ReferenceFrame.hpp:54
osg::ref_ptr< osg::Geode > _extras
Definition: Model.hpp:129
osg::ref_ptr< osg::Group > _group
Definition: Model.hpp:119