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 setDynamicNearFar(
bool enable) = 0;
80 virtual void setNearFarRatio(
double ratio) = 0;
83 virtual void setObserverName(
const std::string& observerName );
89 virtual void setSensorName(
const std::string& sensorName ) = 0;
93 virtual void setProjectionResizePolicy(
99 projectionResizePolicy()
const;
102 virtual bool processMouseEvent(
const DtMouseEvent& ev) = 0;
105 virtual bool processKeyboardEvent(
const DtKeyEvent& ev) = 0;
109 virtual void projectToScreen(
double dbX,
double dbY,
double dbZ,
110 double& screenX,
double& screenY,
double& screenZ ) = 0;
113 virtual void projectToWorld(
double screenX,
double screenY,
114 double& dbX,
double& dbY,
double& dbZ ) = 0;
117 virtual void moveMouseToScreenLocation(
float pixelX,
float pixelY ) = 0;
122 virtual void setProjectionMatrixAsPerspective(
double fovy,
123 double aspectRatio,
double zNear,
double zFar) = 0;
126 virtual void setProjectionMatrixAsFrustum (
double left,
double right,
127 double bottom,
double topz,
128 double zNear,
double zFar) = 0;
130 virtual void connectToObserver() = 0;
132 void observerAdded(
const std::string& observerName );
133 void observerRemoved(
const std::string& observerName );