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

The attribute layout tells DtAttributes where to draw using a grid type layout.

Classes

struct  AttributeInfo
 

Public Types

using DtOriginPlacementPolicy = DtAttributeGroupWidget::DtOriginPlacementPolicy
 

Public Member Functions

 DtAttributeLayout (DtDe &de)
 
virtual ~DtAttributeLayout ()
 
virtual void setDimensions (unsigned int rows, unsigned int cols)
 
virtual void getDimensions (unsigned int &rowsOut, unsigned int &colsOut)
 
virtual void setAttribute (unsigned int row, unsigned int col, DtAttribute *attribute)
 
virtual DtAttributefindAttribute (unsigned int row, unsigned int col)
 
virtual void setOriginOffset (double x, double y)
 
virtual void setOriginPlacementPolicy (DtOriginPlacementPolicy originPolicy)
 
virtual void setHorizontalCenter (bool center)
 
virtual void setVerticalCenter (bool center)
 
virtual void setWorldPosition (float x, float y, float z, float w)
 
virtual void setBackgroundColor (float r, float g, float b, float a)
 
virtual void setBackgroundImage (const std::string &filename)
 
virtual void setCellPadding (double colPadding, double rowPadding)
 
virtual void updateCellSizes ()
 
virtual void setVisible (bool visible)
 
virtual void setColor (float r, float g, float b, float a)
 
virtual void setOverlay (unsigned int overlayId)
 
virtual void setOrderGroup (unsigned int group)
 
virtual unsigned int orderGroup () const
 
virtual void setBackgroundOrderGroup (unsigned int groupId)
 
virtual void setWidth (float width)
 
virtual void setBackgroundEnabled (bool enabled)
 
virtual void setOutlineWidth (float width)
 
virtual void setOutlineEnabled (bool enabled)
 
virtual void setShadowText (bool enabled)
 
virtual void setBackgroundLodOutAltitude (double lodOutAltitude)
 
virtual void setBackgroundIsLodOutAltitudeEnabled (bool isLodOutAltitudeEnabled)
 

Protected Types

typedef std::vector
< DtAttribute * > 
Attributes
 
typedef std::vector< AttributesAttributeGrid
 
typedef std::unordered_map
< DtAttribute *, AttributeInfo
AttributeInfoMap
 

Protected Member Functions

virtual void updateOriginPlacementPolicyBasedOnHorizontalAndVerticalCenterProperties ()
 
virtual void slot_attributeSizeChanged (DtAttribute *attribute, double xSize, double ySize)
 
virtual void resizeLayout ()
 
virtual void redimensionLayout ()
 
virtual void resizeRowsAndColumns ()
 

Protected Attributes

DtDemyDe
 
AttributeGrid myAttributeGrid
 
bool myHorizontalCenter
 
bool myVerticalCenter
 
float myWorldX
 
float myWorldY
 
float myWorldZ
 
float myWorldW
 
DtOriginPlacementPolicy myOriginPlacementPolicy
 
double myOffsetX
 
double myOffsetY
 
double myXDim
 
double myYDim
 
double myRowPadding
 
double myColumnPadding
 
DtQuadProxyInterfacemyBackground
 
DtBaseOutlineAttributemyOutline
 
bool myVisible
 
bool myOutlineEnabled
 
float myOutlineWidth
 
unsigned int myOverlay
 
unsigned int myOverlayGroup
 
unsigned int myOverlayTextGroup
 
DtOsgTextureWrappermyBackgroundTexture
 
DtVector4< float > myBackgroundColor
 
DtBoundingBox myBoundingBox
 
bool myShadowTextFlag
 
AttributeInfoMap myAttributeInfoMap
 
std::vector< doublemyColSizes
 
std::vector< doublemyRowSizes
 

Private Member Functions

void createBackground ()
 
void eraseAttribute (DtAttribute *attribute)
 

Member Typedef Documentation

typedef std::vector<DtAttribute*> makVrv::DtAttributeLayout::Attributes
protected
typedef std::vector<Attributes> makVrv::DtAttributeLayout::AttributeGrid
protected

A map from attribute to its location in the layout.

Constructor & Destructor Documentation

makVrv::DtAttributeLayout::DtAttributeLayout ( DtDe de)

CTOR.

virtual makVrv::DtAttributeLayout::~DtAttributeLayout ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtAttributeLayout::setDimensions ( unsigned int  rows,
unsigned int  cols 
)
virtual

Set the number of rows and columns in the layout.

virtual void makVrv::DtAttributeLayout::getDimensions ( unsigned int rowsOut,
unsigned int colsOut 
)
virtual

Get the dimensions of the layout.

virtual void makVrv::DtAttributeLayout::setAttribute ( unsigned int  row,
unsigned int  col,
DtAttribute attribute 
)
virtual

Set the attribute at the specified grid cell. Transfers ownership.

The cell must be within the bounds specified in the most recent setDimensions call

virtual DtAttribute* makVrv::DtAttributeLayout::findAttribute ( unsigned int  row,
unsigned int  col 
)
virtual

Find the attribute at row, col. Returns 0 if none was found.

virtual void makVrv::DtAttributeLayout::setOriginOffset ( double  x,
double  y 
)
virtual

Set the bottom left corner of the layout Set the offset in pixels from the position.

virtual void makVrv::DtAttributeLayout::setOriginPlacementPolicy ( DtOriginPlacementPolicy  originPolicy)
virtual

Set the bottom left corner of the layout Sets the policy for how the glyph is located with respect to its position.

virtual void makVrv::DtAttributeLayout::setHorizontalCenter ( bool  center)
virtual

Set whether or not to center the attribute group horizontally around its origin. This ultimately uses setOriginPlacementPolicy(DtOriginPlacementPolicy) for its implementation. If 'Horizontal Center' is true but 'Vertical Center' is false, then the origin placement policy is set to TopCenter. If 'Horizontal Center' is true and 'Vertical Center' is true, then the origin placement policy is set to Center. If both are false, then the origin placement policy is set to the default origin placement policy, TopLeft.

virtual void makVrv::DtAttributeLayout::setVerticalCenter ( bool  center)
virtual

Set whether or not to center the attribute group vertically around its origin. This ultimately uses setOriginPlacementPolicy(DtOriginPlacementPolicy) for its implementation. If 'Horizontal Center' is true but 'Vertical Center' is false, then the origin placement policy is set to TopCenter. If 'Horizontal Center' is true and 'Vertical Center' is true, then the origin placement policy is set to Center. If both are false, then the origin placement policy is set to the default origin placement policy, TopLeft.

virtual void makVrv::DtAttributeLayout::setWorldPosition ( float  x,
float  y,
float  z,
float  w 
)
virtual

Set the origin of the layout in world coordinates.

virtual void makVrv::DtAttributeLayout::setBackgroundColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Set the background color for the layout.

virtual void makVrv::DtAttributeLayout::setBackgroundImage ( const std::string &  filename)
virtual

Set the image to use for the background.

virtual void makVrv::DtAttributeLayout::setCellPadding ( double  colPadding,
double  rowPadding 
)
virtual

Set the padding around the contents of each cell.

virtual void makVrv::DtAttributeLayout::updateCellSizes ( )
virtual

Update the sizes of all cells.

virtual void makVrv::DtAttributeLayout::setVisible ( bool  visible)
virtual

Set the layout visible or hidden.

virtual void makVrv::DtAttributeLayout::setColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Set the color of the outline of the layout (does not set the color of its attributes)

virtual void makVrv::DtAttributeLayout::setOverlay ( unsigned int  overlayId)
virtual

Set the overlay id for the attributes to draw on.

virtual void makVrv::DtAttributeLayout::setOrderGroup ( unsigned int  group)
virtual

Set the group the attribute and background are on.

virtual unsigned int makVrv::DtAttributeLayout::orderGroup ( ) const
virtual
virtual void makVrv::DtAttributeLayout::setBackgroundOrderGroup ( unsigned int  groupId)
virtual

Set the overlay group used for shadows and the background.

virtual void makVrv::DtAttributeLayout::setWidth ( float  width)
virtual

Set the width of the layout.

virtual void makVrv::DtAttributeLayout::setBackgroundEnabled ( bool  enabled)
virtual

Enable or disable the background quad.

virtual void makVrv::DtAttributeLayout::setOutlineWidth ( float  width)
virtual

Set the line width of the outline.

virtual void makVrv::DtAttributeLayout::setOutlineEnabled ( bool  enabled)
virtual

Enable or disable the layout's outline.

virtual void makVrv::DtAttributeLayout::setShadowText ( bool  enabled)
virtual

Set whether text shadows should be displayed.

virtual void makVrv::DtAttributeLayout::setBackgroundLodOutAltitude ( double  lodOutAltitude)
virtual

Set the minimum altitude, in meters, at which the background quad will no longer render. Only used if setIsLodOutAltitudeEnabled(true). Default is the maximum value a double can hold.

virtual void makVrv::DtAttributeLayout::setBackgroundIsLodOutAltitudeEnabled ( bool  isLodOutAltitudeEnabled)
virtual

Set whether or not the background quad should use the LOD Out Altitude property. Default is true.

virtual void makVrv::DtAttributeLayout::updateOriginPlacementPolicyBasedOnHorizontalAndVerticalCenterProperties ( )
protectedvirtual

Update the origin placement policy for the attribute layout based on the horizontal/vertical center settings.

virtual void makVrv::DtAttributeLayout::slot_attributeSizeChanged ( DtAttribute attribute,
double  xSize,
double  ySize 
)
protectedvirtual

Called when an attribute's size changes.

virtual void makVrv::DtAttributeLayout::resizeLayout ( )
protectedvirtual

Resize the attributes in the layout to match the current row and column dimensions.

virtual void makVrv::DtAttributeLayout::redimensionLayout ( )
protectedvirtual

Recompute the layout's dimensions according to its row and columns sizes.

virtual void makVrv::DtAttributeLayout::resizeRowsAndColumns ( )
protectedvirtual

Recompute the sizes of the layout's rows and columns.

void makVrv::DtAttributeLayout::createBackground ( )
private

Create the background quad for the attribute layout. Non-virtual (Called from CTOR).

void makVrv::DtAttributeLayout::eraseAttribute ( DtAttribute attribute)
private

Remove and delete an attribute from the layout.

  • attribute must be in the layout
  • does not redimension the layout

Member Data Documentation

DtDe& makVrv::DtAttributeLayout::myDe
protected
AttributeGrid makVrv::DtAttributeLayout::myAttributeGrid
protected

The 2d grid of attributes to manage.

bool makVrv::DtAttributeLayout::myHorizontalCenter
protected
bool makVrv::DtAttributeLayout::myVerticalCenter
protected
float makVrv::DtAttributeLayout::myWorldX
protected
float makVrv::DtAttributeLayout::myWorldY
protected
float makVrv::DtAttributeLayout::myWorldZ
protected
float makVrv::DtAttributeLayout::myWorldW
protected
DtOriginPlacementPolicy makVrv::DtAttributeLayout::myOriginPlacementPolicy
protected
double makVrv::DtAttributeLayout::myOffsetX
protected
double makVrv::DtAttributeLayout::myOffsetY
protected
double makVrv::DtAttributeLayout::myXDim
protected

Layout dimension on X axis.

double makVrv::DtAttributeLayout::myYDim
protected

Layout dimension on Y axis.

double makVrv::DtAttributeLayout::myRowPadding
protected
double makVrv::DtAttributeLayout::myColumnPadding
protected
DtQuadProxyInterface* makVrv::DtAttributeLayout::myBackground
protected
DtBaseOutlineAttribute* makVrv::DtAttributeLayout::myOutline
protected
bool makVrv::DtAttributeLayout::myVisible
protected
bool makVrv::DtAttributeLayout::myOutlineEnabled
protected
float makVrv::DtAttributeLayout::myOutlineWidth
protected
unsigned int makVrv::DtAttributeLayout::myOverlay
protected
unsigned int makVrv::DtAttributeLayout::myOverlayGroup
protected
unsigned int makVrv::DtAttributeLayout::myOverlayTextGroup
protected
DtOsgTextureWrapper* makVrv::DtAttributeLayout::myBackgroundTexture
protected
DtVector4<float> makVrv::DtAttributeLayout::myBackgroundColor
protected
DtBoundingBox makVrv::DtAttributeLayout::myBoundingBox
protected
bool makVrv::DtAttributeLayout::myShadowTextFlag
protected
AttributeInfoMap makVrv::DtAttributeLayout::myAttributeInfoMap
protected
std::vector<double> makVrv::DtAttributeLayout::myColSizes
protected
std::vector<double> makVrv::DtAttributeLayout::myRowSizes
protected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)