VR-Forces 4.10 Class Documentation
 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. More...

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

Public Member Functions

 DtWindowEntityAttachedSurface (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtWindowEntityAttachedSurface ()
 DTOR. More...
 
virtual void needsUpdate ()
 Connected to signal_postUpdate. More...
 
virtual void setEntity (DtUniqueID entityId)
 Set the entity ID that this surface will be "attached" to. More...
 
virtual void slot_sceneObjectToBeDeleted ()
 Connected to signal_sceneObjectToBeDeleted when the entity is deleted this surface (and all its children) are set to invisible. More...
 
virtual void setChannel (DtChannel *channel)
 Set the channel this surface is active on. More...
 
virtual void setChannelOverlay (std::string displayName, std::string windowName, std::string channelName)
 Set the channel this surface is active on. More...
 
virtual void setOffsets (float xOffset, float yOffset, float zOffset)
 These are the offsets from the entity position that are projected onto the screen to the centre of the surface, these are in metres. More...
 
virtual void setSurfaceWidthHeight (float width, float height)
 This is required as the corners for the clip box are recalcualted every frame. More...
 
virtual void setSurfaceCoordinateExtents (float minU, float minV, float maxU, float maxV)
 These UV coords allow for a sub coordinate system on the surface. More...
 
- Public Member Functions inherited from makVrv::DtWindowSurface
 DtWindowSurface (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtWindowSurface ()
 DTOR. More...
 
virtual void setClipBox (DtClipBox clipBox)
 Set this surface's clip box. More...
 
virtual void setClipBox (double bottomLeftX, double bottomLeftY, double topRightX, double topRightY)
 
virtual void setScaleToClipBox (const bool scaleToClipBox)
 Setting this flag means that a scale is calculated from the clip coordinates, and that is set as the scale for the surface. More...
 
- Public Member Functions inherited from makVrv::DtWindowObject
 DtWindowObject (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtWindowObject ()
 DTOR. More...
 
virtual void setVisible (bool visible)
 Set / Get the window object's visibility in the window. More...
 
virtual bool visible ()
 
virtual DtUniqueID uniqueId ()
 Returns the unique ID of this object. More...
 
DtWindowObjectgetParent ()
 Get the parent windowObject. More...
 
virtual ChildList childList ()
 Returns the child list. More...
 
virtual void addChild (DtUniqueID id)
 Add a child to this objects child list. More...
 
virtual void removeChild (DtUniqueID id)
 Remove a child from this objects child list. More...
 
virtual void setColor (float r, float g, float b, float a)
 Set / Get the objects's color. More...
 
virtual void getColor (float &r, float &g, float &b, float &a)
 
virtual void slot_postTick ()
 Slot for DtDe::signal_postTick, using when this object is flashing/blinking. More...
 
virtual Transform windowTransform ()
 Get the window transform that is the total transform of this object and all it's parents. More...
 
virtual DtClipBox clipBox ()
 Get this object's clip box specifications. More...
 
virtual void setParentId (DtUniqueID parentId)
 Get / Set Parent IDs. More...
 
virtual DtUniqueID getParentId ()
 
virtual void setPosition (double x, double y)
 Set / Get the window position of this object. More...
 
virtual void getPosition (double &x, double &y)
 
virtual void setScale (double scale)
 Set / Get the scale of the x y components. More...
 
virtual void setScale (double x, double y)
 
virtual void getScale (double &x, double &y)
 
virtual void setRotation (double rotation)
 Set / Get the rotation of the window object around it's set position, (0.0,0.0) if none is set. More...
 
virtual void getRotation (double &rotation)
 
virtual void setInheritColor (bool inheritColor)
 Set / Get whether this object inherits it's color from it's parent. More...
 
virtual bool inheritColor ()
 
virtual void setGroup (int id)
 Set / Get the group ID The higher the Z order the "closer" the element will be drawn to the eye point. More...
 
virtual int group ()
 
virtual void setFlashing (bool flashing, double interval)
 Set / Get this object to flash on and off at the given interval. More...
 
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)
 Clamp method used for clip box coords. More...
 

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 list for holding the IDs of the children of this class More...
 
typedef DtVector2< doubleDtVector2d
 typedef 2D Vector More...
 
typedef DtMatrix3< doubleTransform
 typedef 3x3 Matrix for holding this object's transform More...
 

Detailed Description

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.

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 ( std::string  displayName,
std::string  windowName,
std::string  channelName 
)
virtual

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 Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)