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
makVrv::DtWindowEntityAttachedSurface Class Reference

This surface is attached onto an entity. The surface will adjust its position on screen to that of the entity with projectToScreen for the channel that is set. The clip coordinates will also update. Once an entity is successfully set on this class the surface is updated by the postUpdate signal. signal_sceneObjectToBeDeleted is also connected so that updates stop once the entity has been deleted.

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

Public Member Functions

 DtWindowEntityAttachedSurface (DtDe &de, DtUniqueID id)
 
virtual ~DtWindowEntityAttachedSurface ()
 
virtual void needsUpdate ()
 
virtual void setEntity (DtUniqueID entityId)
 
virtual void slot_sceneObjectToBeDeleted ()
 
virtual void setChannel (DtChannel *channel)
 
virtual void setChannelOverlay (const std::string &displayName, const std::string &windowName, const std::string &channelName) override
 
virtual void setOffsets (float xOffset, float yOffset, float zOffset)
 
virtual void setSurfaceWidthHeight (float width, float height)
 
virtual void setSurfaceCoordinateExtents (float minU, float minV, float maxU, float maxV)
 
- Public Member Functions inherited from makVrv::DtWindowSurface
 DtWindowSurface (DtDe &de, DtUniqueID id)
 
virtual ~DtWindowSurface ()
 
virtual void setClipBox (DtClipBox clipBox)
 
virtual void setClipBox (double bottomLeftX, double bottomLeftY, double topRightX, double topRightY)
 
virtual void setScaleToClipBox (const bool scaleToClipBox)
 
- Public Member Functions inherited from makVrv::DtWindowObject
 DtWindowObject (DtDe &de, DtUniqueID id)
 
virtual ~DtWindowObject ()
 
virtual void setVisible (bool visible)
 
virtual bool visible ()
 
virtual DtUniqueID uniqueId ()
 
DtWindowObjectgetParent ()
 
virtual ChildList childList ()
 
virtual void addChild (DtUniqueID id)
 
virtual void removeChild (DtUniqueID id)
 
virtual void setColor (float r, float g, float b, float a)
 
virtual void getColor (float &r, float &g, float &b, float &a)
 
virtual void slot_postTick ()
 
virtual Transform windowTransform ()
 
virtual DtClipBox clipBox ()
 
virtual void setParentId (DtUniqueID parentId)
 
virtual DtUniqueID getParentId ()
 
virtual void setPosition (double x, double y)
 
virtual void getPosition (double &x, double &y)
 
virtual void setScale (double scale)
 
virtual void setScale (double x, double y)
 
virtual void getScale (double &x, double &y)
 
virtual void setRotation (double rotation)
 
virtual void getRotation (double &rotation)
 
virtual void setInheritColor (bool inheritColor)
 
virtual bool inheritColor ()
 
virtual void setGroup (int id)
 
virtual int group ()
 
virtual void setFlashing (bool flashing, double interval)
 
virtual void getFlashing (bool &flashing, double &interval)
 
virtual void getChannelOverlay (std::string &displayName, std::string &windowName, std::string &channelName)
 

Protected Member Functions

void clamp (double &x, double lower, double upper)
 

Protected Attributes

DtSceneObjectmyEntity
 
DtChannelmyChannel
 
boost::signalslib::connection myEntityDeletedSignal
 
float myXOffset
 
float myYOffset
 
float myZOffset
 
float mySurfaceWidth
 
float mySurfaceHeight
 
- Protected Attributes inherited from makVrv::DtWindowSurface
bool myScaleToClipBox
 
float myMinU
 
float myMinV
 
float myMaxU
 
float myMaxV
 
- Protected Attributes inherited from makVrv::DtWindowObject
DtDemyDe
 
DtUniqueID myUniqueId
 
DtUniqueID myParentId
 
ChildList myChildIdList
 
DtVector2d myPosition
 
DtVector2d myScale
 
DtVector2d myWindowScale
 
double myRotation
 
double myFlashInterval
 
double myLastFlashTime
 
double myLastSimTime
 
bool myVisible
 
bool myLastVisibilityFlash
 
bool myInheritColor
 
bool myFlashing
 
float myColorR
 
float myColorG
 
float myColorB
 
float myColorA
 
Transform myWindowTransform
 
DtClipBox myClipBox
 
int myGroup
 
std::string myDisplayName
 
std::string myWindowName
 
std::string myChannelName
 

Additional Inherited Members

- Public Types inherited from makVrv::DtWindowObject
typedef std::list< DtUniqueIDChildList
 
typedef DtVector2< doubleDtVector2d
 
typedef DtMatrix3< doubleTransform
 

Constructor & Destructor Documentation

makVrv::DtWindowEntityAttachedSurface::DtWindowEntityAttachedSurface ( DtDe de,
DtUniqueID  id 
)

CTOR.

virtual makVrv::DtWindowEntityAttachedSurface::~DtWindowEntityAttachedSurface ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtWindowEntityAttachedSurface::needsUpdate ( )
virtual

Connected to signal_postUpdate.

Reimplemented from makVrv::DtWindowObject.

virtual void makVrv::DtWindowEntityAttachedSurface::setEntity ( DtUniqueID  entityId)
virtual

Set the entity ID that this surface will be "attached" to.

virtual void makVrv::DtWindowEntityAttachedSurface::slot_sceneObjectToBeDeleted ( )
virtual

Connected to signal_sceneObjectToBeDeleted when the entity is deleted this surface (and all its children) are set to invisible.

virtual void makVrv::DtWindowEntityAttachedSurface::setChannel ( DtChannel channel)
virtual

Set the channel this surface is active on.

virtual void makVrv::DtWindowEntityAttachedSurface::setChannelOverlay ( const std::string &  displayName,
const std::string &  windowName,
const std::string &  channelName 
)
overridevirtual

Set the channel this surface is active on.

Reimplemented from makVrv::DtWindowObject.

virtual void makVrv::DtWindowEntityAttachedSurface::setOffsets ( float  xOffset,
float  yOffset,
float  zOffset 
)
virtual

These are the offsets from the entity position that are projected onto the screen to the centre of the surface, these are in metres. They are added to the entity position before myChannel->projectToScreen is called.

virtual void makVrv::DtWindowEntityAttachedSurface::setSurfaceWidthHeight ( float  width,
float  height 
)
virtual

This is required as the corners for the clip box are recalcualted every frame. Normalised Coordinates.

virtual void makVrv::DtWindowEntityAttachedSurface::setSurfaceCoordinateExtents ( float  minU,
float  minV,
float  maxU,
float  maxV 
)
virtual

These UV coords allow for a sub coordinate system on the surface. Screen is 0.0->1.0, the surface can be from 0.25->0.75 but you may wish to represent the 0.25->0.75 as 0.0->1.0. This is needed here as these values are used when this object is ticked. The origin or position of the surface uses these values: originX = (entityPosNormalised + xOffsetNormalised - widthNormalised) - (MinU * scaleX); Unlike the base class method, this over ride does not set the scale and position of this surface, the update functions does.

Reimplemented from makVrv::DtWindowSurface.

void makVrv::DtWindowEntityAttachedSurface::clamp ( double x,
double  lower,
double  upper 
)
protected

Clamp method used for clip box coords.

Member Data Documentation

DtSceneObject* makVrv::DtWindowEntityAttachedSurface::myEntity
protected
DtChannel* makVrv::DtWindowEntityAttachedSurface::myChannel
protected
boost::signalslib::connection makVrv::DtWindowEntityAttachedSurface::myEntityDeletedSignal
protected
float makVrv::DtWindowEntityAttachedSurface::myXOffset
protected
float makVrv::DtWindowEntityAttachedSurface::myYOffset
protected
float makVrv::DtWindowEntityAttachedSurface::myZOffset
protected
float makVrv::DtWindowEntityAttachedSurface::mySurfaceWidth
protected
float makVrv::DtWindowEntityAttachedSurface::mySurfaceHeight
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)