VR-Forces 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
 
DtModelSetId 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) const =0
 
virtual void projectToWorld (double screenX, double screenY, double &dbX, double &dbY, double &dbZ) const =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
 
virtual std::vector< DtElementIDentitiesInFrustum ()=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
 
DtModelSetId 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.

DtModelSetId 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 
) const
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 
) const
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

Perform world intersection using non-normalized screen coordinates, in pixels.

Parameters
screenXThe X-component of the channel screen pixel coordinates.
screenYThe Y-component of the channel screen pixel coordinates.
propertiesThe properties which dictate which kind of nodes can be intersected, default is all node types.
ignoreListA list of element IDs which are associated with scene visuals that are not to be included in the intersection result even if those scene visuals were intersected.

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 std::vector<DtElementID> makVrv::DtChannel::entitiesInFrustum ( )
pure virtual

Get a list of the entities within the frustum NOTE: This includes entities occluded by buildings, hills, etc. NOTE: You can use myDe.dataBank().elementData().attributeManager(). getElementDisplayName(entityId, name) to get the display names NOTE: You can use myDe.dataBank().elementData().findSceneObjectFromElementId(elementId); to get the DtSceneObject.

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
DtModelSetId 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 Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)