VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtChannel Class Referenceabstract

The abstract Channel Class.

Inheritance diagram for makVrv::DtChannel:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtChannel ()
 
DtObserverObjectfindObserver () const
 
unsigned int currentModelSet () const
 
virtual void setClearColor (float r, float g, float b, float a)=0
 
virtual void setViewport (int x, int y, int width, int height)=0
 
virtual void getViewport (int &x, int &y, int &width, int &height) const =0
 
virtual void setWindow (DtWindow *)=0
 
virtual void setCameraPosition (double x, double y, double z)=0
 
virtual const DtWindowwindow () const =0
 
virtual void setChannelEnabled (bool enabled, bool partial=false)=0
 
virtual bool channelEnabled () const =0
 
virtual void update ()=0
 
const DtChannelConfigurationconfiguration () const
 
virtual void updateProjection ()=0
 
virtual void setObserverName (const std::string &observerName)
 
virtual void setSensorName (const std::string &sensorName)=0
 
virtual void setProjectionResizePolicy (DtChannelConfiguration::ProjectionResizePolicy policy)
 
virtual
DtChannelConfiguration::ProjectionResizePolicy 
projectionResizePolicy () const
 
virtual bool processMouseEvent (const DtMouseEvent &ev)=0
 
virtual bool processKeyboardEvent (const DtKeyEvent &ev)=0
 
virtual void projectToScreen (double dbX, double dbY, double dbZ, double &screenX, double &screenY, double &screenZ)=0
 
virtual void projectToWorld (double screenX, double screenY, double &dbX, double &dbY, double &dbZ)=0
 
virtual DtIntersectorResult findWorldIntersection (double screenX, double screenY, DtIntersector::IntersectProperties properties=DtIntersector::AllNodes, std::vector< DtElementID > *ignoreList=0)=0
 
virtual void moveMouseToScreenLocation (float pixelX, float pixelY)=0
 
std::string & observerName ()
 
virtual void screenCapture ()=0
 
virtual void updateCameraFrustumPlanes (std::vector< DtVector4< double > > &planes)=0
 
virtual void updateAcquisitionBoxFrustumPlanes (const int &boxCenterX, const int &boxCenterY, const int &boxWidth, const int &boxHeight, std::vector< DtVector4< double > > &planes)=0
 

Protected Member Functions

 DtChannel (DtDe &de, DtChannelConfiguration &)
 
virtual void connectToObserver ()=0
 
virtual void observerAdded (const std::string &observerName)
 
virtual void observerRemoved (const std::string &observerName)
 

Protected Attributes

DtDemyDe
 
DtChannelConfigurationmyChannelConfiguration
 
DtSignalConnectionManager myConnections
 
int myModelSet
 
DtObserverObjectmyObserver
 
std::string myObserverName
 
DtChannelConfiguration::ProjectionResizePolicy myProjectionResizePolicy
 

Private Member Functions

 DtChannel ()
 
 DtChannel (const DtChannel &)
 
DtChanneloperator= (const DtChannel &)
 

Constructor & Destructor Documentation

makVrv::DtChannel::DtChannel ( DtDe de,
DtChannelConfiguration  
)
protected

The constructor for an abstract class is not public.

virtual makVrv::DtChannel::~DtChannel ( )
virtual

DTOR.

makVrv::DtChannel::DtChannel ( )
private

Default Constructor not implemented.

makVrv::DtChannel::DtChannel ( const DtChannel )
private

Copy Constructor not implemented - Copy not allowed.

Member Function Documentation

DtObserverObject* makVrv::DtChannel::findObserver ( ) const

Attempt to get the observer for the channel.

unsigned int makVrv::DtChannel::currentModelSet ( ) const

Get the current model set.

virtual void makVrv::DtChannel::setClearColor ( float  r,
float  g,
float  b,
float  a 
)
pure virtual

Set the clear color of the channel.

Implemented in makVrv::DtOsgChannel.

virtual void makVrv::DtChannel::setViewport ( int  x,
int  y,
int  width,
int  height 
)
pure virtual

Set the viewport of the channel.

Implemented in makVrv::DtOsgChannel, and makVrv::DtVirtualRealityChannel.

virtual void makVrv::DtChannel::getViewport ( int x,
int y,
int width,
int height 
) const
pure virtual

Get the viewport.

Implemented in makVrv::DtOsgChannel.

virtual void makVrv::DtChannel::setWindow ( DtWindow )
pure virtual

Set the window the channel is displayed on.

Implemented in makVrv::DtOsgChannel.

virtual void makVrv::DtChannel::setCameraPosition ( double  x,
double  y,
double  z 
)
pure virtual

Set the channel's camera position.

Implemented in makVrv::DtOsgChannel.

virtual const DtWindow* makVrv::DtChannel::window ( ) const
pure virtual

Get the window the channel is displayed on.

Implemented in makVrv::DtOsgChannel.

virtual void makVrv::DtChannel::setChannelEnabled ( bool  enabled,
bool  partial = false 
)
pure virtual

Enable/Disable the channel. When a channel is disabled, it no longer renders and receives key/mouse events.

Implemented in makVrv::DtOsgChannel.

virtual bool makVrv::DtChannel::channelEnabled ( ) const
pure virtual

Enable/Disable the channel. When a channel is disabled, it no longer renders or receives key/mouse events.

Implemented in makVrv::DtOsgChannel.

virtual void makVrv::DtChannel::update ( )
pure virtual

Update a channel.

Implemented in makVrv::DtOsgChannel, and makVrv::DtOculusChannel.

const DtChannelConfiguration& makVrv::DtChannel::configuration ( ) const

Get the configuration.

virtual void makVrv::DtChannel::updateProjection ( )
pure virtual

This method is called when ever the channel's projection matrix needs to be updated.

Implemented in makVrv::DtOsgChannel, makVrv::DtVirtualRealityChannel, makVrv::DtOculusChannel, and makVrv::vrvScalableDisplay::DtScalableOsgChannel.

virtual void makVrv::DtChannel::setObserverName ( const std::string &  observerName)
virtual

set the name of the observer to use, and attempt to connect

virtual void makVrv::DtChannel::setSensorName ( const std::string &  sensorName)
pure virtual

Set the name of the sensor to use.

The special name defined by DtChannelManager::UseObserverSensor causes the channel to use the sensor specified by its observer

Implemented in makVrv::DtOsgChannel.

virtual void makVrv::DtChannel::setProjectionResizePolicy ( DtChannelConfiguration::ProjectionResizePolicy  policy)
virtual

Set the policy used to determine if and how the projection matrix should be adjusted on window resizes. */.

Reimplemented in makVrv::DtOsgChannel.

virtual DtChannelConfiguration::ProjectionResizePolicy makVrv::DtChannel::projectionResizePolicy ( ) const
virtual

Get the policy used to determine if and how the projection matrix should be adjusted on window resizes. */.

virtual bool makVrv::DtChannel::processMouseEvent ( const DtMouseEvent ev)
pure virtual

attempt to handle a mouse event with the channel's overlay

Implemented in makVrv::DtOsgChannel.

virtual bool makVrv::DtChannel::processKeyboardEvent ( const DtKeyEvent ev)
pure virtual

attempt to handle a keyboard event with the channel's overlay

Implemented in makVrv::DtOsgChannel.

virtual void makVrv::DtChannel::projectToScreen ( double  dbX,
double  dbY,
double  dbZ,
double screenX,
double screenY,
double screenZ 
)
pure virtual

project the given local (Or database) coordinates into screen coordinates

Implemented in makVrv::DtOsgChannel.

virtual void makVrv::DtChannel::projectToWorld ( double  screenX,
double  screenY,
double dbX,
double dbY,
double dbZ 
)
pure virtual

project the local database coordinates given screen coordinates

Implemented in makVrv::DtOsgChannel.

virtual DtIntersectorResult makVrv::DtChannel::findWorldIntersection ( double  screenX,
double  screenY,
DtIntersector::IntersectProperties  properties = DtIntersector::AllNodes,
std::vector< DtElementID > *  ignoreList = 0 
)
pure virtual

project the non-normalized screen coordinates, i.e. in pixels, and intersects the world

Implemented in makVrv::DtOsgChannel.

virtual void makVrv::DtChannel::moveMouseToScreenLocation ( float  pixelX,
float  pixelY 
)
pure virtual

Places the mouse cursor at the specified x/y position on the screen.

Implemented in makVrv::DtOsgChannel.

std::string& makVrv::DtChannel::observerName ( )

Retrieve the observer name for this channel.

virtual void makVrv::DtChannel::screenCapture ( )
pure virtual

Takes Screen capture of the current channel.

Implemented in makVrv::DtOsgChannel.

virtual void makVrv::DtChannel::updateCameraFrustumPlanes ( std::vector< DtVector4< double > > &  planes)
pure virtual

Set the Frustum planes for this channel, called from DtOsgChannel.

Implemented in makVrv::DtOsgChannel.

virtual void makVrv::DtChannel::updateAcquisitionBoxFrustumPlanes ( const int boxCenterX,
const int boxCenterY,
const int boxWidth,
const int boxHeight,
std::vector< DtVector4< double > > &  planes 
)
pure virtual

Set the frustum planes for a subset of this channel, called from DtOsgChannel Scales the channels projection values based on the box's values that are passed in.

Implemented in makVrv::DtOsgChannel.

virtual void makVrv::DtChannel::connectToObserver ( )
protectedpure virtual

Implemented in makVrv::DtOsgChannel.

virtual void makVrv::DtChannel::observerAdded ( const std::string &  observerName)
protectedvirtual

connected to the signal_observerAdded so the channel can connect to the correct observer when it is added

virtual void makVrv::DtChannel::observerRemoved ( const std::string &  observerName)
protectedvirtual

connected to the signal_observerRemoved so the channel can disconnect from the observer when it is removed.

Reimplemented in makVrv::DtOsgChannel.

DtChannel& makVrv::DtChannel::operator= ( const DtChannel )
private

Assignment Operator not implemented - Copy not allowed.

Member Data Documentation

DtDe& makVrv::DtChannel::myDe
protected
DtChannelConfiguration& makVrv::DtChannel::myChannelConfiguration
protected
DtSignalConnectionManager makVrv::DtChannel::myConnections
protected
int makVrv::DtChannel::myModelSet
protected
DtObserverObject* makVrv::DtChannel::myObserver
protected
std::string makVrv::DtChannel::myObserverName
protected
DtChannelConfiguration::ProjectionResizePolicy makVrv::DtChannel::myProjectionResizePolicy
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)