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);
105 void move(
float speed);
109 void strafeLeftRight(
float speed);
113 void strafeUpDown(
float speed);
117 void rotate(
float angle,
float x,
float y,
float z);
129 Vector<int, 4> getViewport()
const;
143 void setZoomFactor(
double zoomFactor);
158 void setEyes(
const Coord& eyes);
173 void setCenter(
const Coord& center);
188 void setUp(
const Coord& up);
202 Coord screenTo3DWorld(
const Coord &point)
const;
208 Coord worldTo2DScreen(
const Coord &obj)
const;
213 virtual void getXML(std::string &outString);
218 virtual void setWithXML(
const std::string &inString,
unsigned int ¤tPosition);
225 void getModelviewMatrix(Matrix<float, 4> &modelviewMatrix)
const {
226 modelviewMatrix=this->modelviewMatrix;
232 void getProjectionMatrix(Matrix<float, 4> &projectionMatrix)
const {
233 projectionMatrix=this->projectionMatrix;
239 void getTransformMatrix(Matrix<float, 4> &transformMatrix)
const {
240 transformMatrix=this->transformMatrix;
246 void getProjAndMVMatrix(
const Vector<int, 4>& viewport,Matrix<float, 4> &projectionMatrix,Matrix<float, 4> &modelviewMatrix)
const;
251 void getTransformMatrix(
const Vector<int, 4>& viewport,Matrix<float, 4> &transformMatrix)
const;
266 void initProjection(
const Vector<int, 4>& viewport,
bool reset=
true);
271 void initProjection(
bool reset=
true);
276 void initModelView();
281 void setSceneRadius(
double sceneRadius,
const BoundingBox sceneBoundingBox=BoundingBox());
289 Coord center,eyes,up;
292 BoundingBox sceneBoundingBox;
296 Matrix<float, 4> modelviewMatrix;
297 Matrix<float, 4> projectionMatrix;
298 Matrix<float, 4> transformMatrix;