23 #include <tulip/Coord.h>
24 #include <tulip/Vector.h>
25 #include <tulip/Matrix.h>
26 #include <tulip/BoundingBox.h>
28 #include <tulip/Observable.h>
29 #include <tulip/GlXMLTools.h>
61 Coord eyes=Coord(0,0,10), Coord up=Coord(0,-1,0),
62 double zoomFactor=0.5,
double sceneRadius=10);
98 void move(
float speed);
102 void strafeLeftRight(
float speed);
106 void strafeUpDown(
float speed);
110 void rotate(
float angle,
float x,
float y,
float z);
122 Vector<int, 4> getViewport()
const;
136 void setZoomFactor(
double zoomFactor);
151 void setEyes(
const Coord& eyes);
166 void setCenter(
const Coord& center);
181 void setUp(
const Coord& up);
195 Coord screenTo3DWorld(
const Coord &point)
const;
201 Coord worldTo2DScreen(
const Coord &obj)
const;
206 virtual void getXML(std::string &outString);
211 virtual void setWithXML(
const std::string &inString,
unsigned int ¤tPosition);
218 void getModelviewMatrix(Matrix<float, 4> &modelviewMatrix)
const {
219 modelviewMatrix=this->modelviewMatrix;
225 void getProjectionMatrix(Matrix<float, 4> &projectionMatrix)
const {
226 projectionMatrix=this->projectionMatrix;
232 void getTransformMatrix(Matrix<float, 4> &transformMatrix)
const {
233 transformMatrix=this->transformMatrix;
239 void getProjAndMVMatrix(
const Vector<int, 4>& viewport,Matrix<float, 4> &projectionMatrix,Matrix<float, 4> &modelviewMatrix)
const;
244 void getTransformMatrix(
const Vector<int, 4>& viewport,Matrix<float, 4> &transformMatrix)
const;
259 void initProjection(
const Vector<int, 4>& viewport,
bool reset=
true);
264 void initProjection(
bool reset=
true);
269 void initModelView();
274 void setSceneRadius(
double sceneRadius,
const BoundingBox sceneBoundingBox=BoundingBox());
282 Coord center,eyes,up;
285 BoundingBox sceneBoundingBox;
289 Matrix<float, 4> modelviewMatrix;
290 Matrix<float, 4> projectionMatrix;
291 Matrix<float, 4> transformMatrix;