16 #include <boost/signals.hpp>
22 class DtObserverObject;
45 unsigned int currentModelSet()
const;
48 virtual void setClearColor(
float r,
float g,
float b,
float a) = 0;
51 virtual void setViewport(
int x,
int y,
int width,
int height) = 0;
54 virtual void getViewport(
int& x,
int& y,
int& width,
int& height)
const = 0;
57 virtual void setWindow(
DtWindow*) = 0;
60 virtual void setCameraPosition(
double x,
double y,
double z) = 0;
63 virtual const DtWindow* window()
const = 0;
66 virtual void update() = 0;
73 virtual void updateProjection() = 0;
76 virtual void setObserverName(
const std::string& observerName );
82 virtual void setSensorName(
const std::string& sensorName ) = 0;
86 virtual void setProjectionResizePolicy(
92 projectionResizePolicy()
const;
95 virtual bool processMouseEvent(
const DtMouseEvent& ev) = 0;
98 virtual bool processKeyboardEvent(
const DtKeyEvent& ev) = 0;
102 virtual void projectToScreen(
double dbX,
double dbY,
double dbZ,
103 double& screenX,
double& screenY,
double& screenZ ) = 0;
106 virtual void projectToWorld(
double screenX,
double screenY,
107 double& dbX,
double& dbY,
double& dbZ ) = 0;
110 virtual void moveMouseToScreenLocation(
float pixelX,
float pixelY ) = 0;
113 std::string& observerName();
118 virtual void setProjectionMatrixAsPerspective(
double fovy,
119 double aspectRatio,
double zNear,
double zFar) = 0;
122 virtual void setProjectionMatrixAsFrustum (
double left,
double right,
123 double bottom,
double topz,
124 double zNear,
double zFar) = 0;
126 virtual void connectToObserver() = 0;
128 void observerAdded(
const std::string& observerName );
129 void observerRemoved(
const std::string& observerName );