18#ifndef INCLUDED_GRAPHICS_OVERLAY
19#define INCLUDED_GRAPHICS_OVERLAY
50 void PushCoords(
const float x,
const float y,
const float z)
EOverlayType
Definition: Overlay.h:178
@ STATIC_OUTLINE
A more complex textured line overlay, composed of several textured line segments.
Definition: Overlay.h:182
@ DYNAMIC_QUAD
A single textured quad overlay, intended for entities that move around much, like units (e....
Definition: Overlay.h:180
Contains pointers to various 'global' objects that are needed by the simulation code,...
Definition: SimContext.h:33
Interned 8-bit strings.
Definition: CStrIntern.h:38
Rendering data for an STexturedOverlayLine.
Definition: TexturedLineRData.h:45
Definition: Vector2D.h:32
Definition: Vector3D.h:31
std::shared_ptr< CTexture > CTexturePtr
Definition: Texture.h:23
Definition: Overlay.h:186
CStrIntern m_QuadTextureMask
Definition: Overlay.h:189
CStrIntern m_LineTexture
Definition: Overlay.h:190
float m_LineThickness
Definition: Overlay.h:192
SOverlayDescriptor()
Definition: Overlay.h:195
int m_Radius
Definition: Overlay.h:193
CStrIntern m_LineTextureMask
Definition: Overlay.h:191
EOverlayType m_Type
Definition: Overlay.h:187
CStrIntern m_QuadTexture
Definition: Overlay.h:188
Line-based overlay, with world-space coordinates, rendered in the world potentially behind other obje...
Definition: Overlay.h:39
float m_Thickness
Definition: Overlay.h:46
void PushCoords(const float x, const float y, const float z)
Definition: Overlay.h:50
std::vector< CVector3D > m_Coords
Definition: Overlay.h:44
SOverlayLine()
Definition: Overlay.h:40
CColor m_Color
Definition: Overlay.h:42
void PushCoords(const CVector3D &v)
Definition: Overlay.h:48
Rectangular single-quad terrain overlay, in world space coordinates.
Definition: Overlay.h:161
CColor m_Color
Definition: Overlay.h:165
CVector3D m_Corners[4]
Definition: Overlay.h:164
CTexturePtr m_TextureMask
Definition: Overlay.h:163
CTexturePtr m_Texture
Definition: Overlay.h:162
Definition: Overlay.h:169
CVector3D m_Center
Definition: Overlay.h:172
SOverlaySphere()
Definition: Overlay.h:170
float m_Radius
Definition: Overlay.h:173
CColor m_Color
Definition: Overlay.h:174
Billboard sprite overlay, with world-space coordinates, rendered on top of all other objects.
Definition: Overlay.h:148
CVector3D m_Position
Definition: Overlay.h:151
float m_X0
Definition: Overlay.h:152
CColor m_Color
Definition: Overlay.h:150
float m_X1
Definition: Overlay.h:152
float m_Y1
Definition: Overlay.h:152
CTexturePtr m_Texture
Definition: Overlay.h:149
float m_Y0
Definition: Overlay.h:152
Textured line overlay, with world-space coordinates, rendered in the world onto the terrain.
Definition: Overlay.h:66
void PushCoords(const float x, const float z)
Definition: Overlay.h:132
LineCapType
Definition: Overlay.h:68
@ LINECAP_SHARP
sharp point ending
Definition: Overlay.h:78
@ LINECAP_ROUND
Semi-circular line ending.
Definition: Overlay.h:77
@ LINECAP_FLAT
no line ending; abrupt stop of the line (aka. butt ending)
Definition: Overlay.h:69
@ LINECAP_SQUARE
square end that extends half the line width beyond the line end
Definition: Overlay.h:79
bool m_AlwaysVisible
Should this line be rendered fully visible at all times, even under the SoD?
Definition: Overlay.h:99
LineCapType m_EndCapType
Definition: Overlay.h:102
CTexturePtr m_TextureBase
Definition: Overlay.h:87
CTexturePtr m_TextureMask
Definition: Overlay.h:88
void CreateOverlayTexture(const SOverlayDescriptor *overlayDescriptor)
Creates the texture specified by the given overlay descriptor and assigns it to this overlay.
Definition: Overlay.cpp:43
CColor m_Color
Color to apply to the line texture, where indicated by the mask.
Definition: Overlay.h:91
const CSimContext * m_SimContext
Simulation context applicable for this overlay line; used to obtain terrain information during automa...
Definition: Overlay.h:108
void PushCoords(const std::vector< CVector2D > &points)
Definition: Overlay.h:134
void PushCoords(const CVector2D &v)
Definition: Overlay.h:133
float m_Thickness
Half-width of the line, in world-space units.
Definition: Overlay.h:95
static LineCapType StrToLineCapType(const std::wstring &str)
Converts a string line cap type into its corresponding LineCap enum value, and returns the resulting ...
Definition: Overlay.cpp:27
bool IsVisibleInFrustum(const CFrustum &frustum) const
Definition: Overlay.cpp:66
std::shared_ptr< CTexturedLineRData > m_RenderData
Cached renderer data, because expensive to compute.
Definition: Overlay.h:118
std::vector< CVector2D > m_Coords
(x, z) vertex coordinate pairs; y is computed automatically.
Definition: Overlay.h:93
LineCapType m_StartCapType
Definition: Overlay.h:101
SOverlayTexturedLine()
Definition: Overlay.h:82
bool m_Closed
Should this line be treated as a closed loop? If set, any end cap settings are ignored.
Definition: Overlay.h:97