22 #include <matrix/coordTransform.h>
23 #include <matrix/vlVector.h>
31 class DtCoordinateSystem;
32 class DtDecalProjectorRenderer;
34 struct DtObserverRenderData;
35 struct DtOverlayRenderData;
36 class DtOverlayResourceProvider;
37 class DtPrimitiveStyle;
38 class DtTextureInterface;
77 virtual void setProjectionRange(
float projNear,
float projFar);
81 virtual void projectionRange(
float& projNear,
float& projFar)
const;
84 virtual void resizeStagingVertexCount(
size_t size);
87 virtual void setStagingVertexPosition(
unsigned int index,
double x,
double y,
double z);
91 virtual void expandStagingPointsToLines();
97 virtual void expandStagingPointsToLineQuads(
float lineWidth);
102 virtual void stagingGeometryUpdated();
105 virtual void setColor(
float r,
float g,
float b,
float a);
108 virtual void getColor(
float& r,
float& g,
float& b,
float& a)
const;
122 virtual void setStipplePattern(
unsigned int stipplePattern[32] = 0);
125 virtual const unsigned int* getStipplePattern()
const;
132 virtual void setFillPatternFrequency(
float frequency)
override;
135 virtual float fillPatternFrequency()
const override;
140 virtual void setAllowAltitudeTileMultiplier(
bool allow);
145 virtual bool allowAltitudeTileMultiplier()
const;
149 virtual bool hasTileRate()
const;
153 virtual void setTileRate(
float tileRate);
156 virtual float tileRate()
const;
162 virtual bool allowSparseTiling()
const;
174 virtual bool pick(
double x,
double y,
double z)
const;
196 virtual void computeTopoTransform(DtCoordTransform& geocToTopo,
202 virtual void updateProjectedUVCoordinates();
208 virtual void computeDrawPasses();
213 virtual void computeDrawPassBounds();
221 virtual void computeProjectionRangeFromArea(
float boundsSizeX,
float boundsSizeY);
233 size_t drawPassCount()
const;
237 size_t passPointCount(
unsigned int pass)
const;
242 const void* passPoints(
unsigned int pass)
const;
246 const void* passPointsUVs(
unsigned int pass)
const;
250 void passBounds(
unsigned int pass,
DtVector& boundsMin,
DtVector& boundsMax);
288 static void setPickLineRadius(
float radius);
301 size_t myPointCount = 0;
302 void* myPointDataStart =
nullptr;
303 void* myPointUVsDataStart =
nullptr;
317 unsigned int myStipplePattern[32];
331 float myDrawPassRotation[16];
375 static const std::string& theClassName();
A class responsible for rendering decal projectors for a camera context.
Definition: DtDecalProjectorRenderer.h:93
A class responsible for rendering line decal projectors for a camera context.
Definition: DtDecalProjectorLineRenderer.h:33
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A structure to hold data for 1 point.
Definition: DtDecalProjectorComponent.h:179
bool myAutoProjectionRange
Definition: DtDecalProjectorComponent.h:312
float myProjectionRangeNear
Definition: DtDecalProjectorComponent.h:310
voidpf uLong int origin
Definition: ioapi.h:42
float myDrawPassBoundsRadius
Definition: DtDecalProjectorComponent.h:333
std::vector< DrawPassData > myDrawPasses
Definition: DtDecalProjectorComponent.h:342
A structure to hold data for a draw pass.
Definition: DtDecalProjectorComponent.h:299
voidpf void uLong size
Definition: ioapi.h:39
bool myHasTileRate
Definition: DtDecalProjectorComponent.h:314
Interface for a texture. Used to pass in a texture to vrvGraphics.
Definition: DtTextureInterface.h:24
float myProjectionRangeFar
Definition: DtDecalProjectorComponent.h:311
DtVector3< float > myProjCoordsOrigin
Definition: DtDecalProjectorComponent.h:325
std::vector< StagingPoint > myStagingPoints
Definition: DtDecalProjectorComponent.h:336
static float thePickLineRadius
This is used as the physical line radius (in meters) when computing if a line was picked or not durin...
Definition: DtDecalProjectorComponent.h:296
A class which represents a component for a decal projector.
Definition: DtDecalProjectorComponent.h:59
A class which represents a component for a decal projector.
Definition: DtDecalProjectorComponentInterface.h:43
DtQuat myDrawPassRotationInvQuat
Definition: DtDecalProjectorComponent.h:330
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
float myFillPatternFrequency
Definition: DtDecalProjectorComponent.h:319
std::vector< TopoPoint > myTopoPoints
Definition: DtDecalProjectorComponent.h:339
DtVector3< float > myProjCoordsAxisV
Definition: DtDecalProjectorComponent.h:327
Contains makVrv::DtQuat class.
A structure to hold data for 1 point.
Definition: DtDecalProjectorComponent.h:253
bool myAllowAltitudeTileMultiplier
Definition: DtDecalProjectorComponent.h:322
float myTileRate
Definition: DtDecalProjectorComponent.h:315
DtVector myBoundsMax
Definition: DtDecalProjectorComponent.h:305
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
creator for DtDecalProjectorComponent
Definition: DtDecalProjectorComponent.h:348
DtVector3< float > myDrawPassBoundsCenter
Definition: DtDecalProjectorComponent.h:332
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
A utility Quaternion class.
Definition: DtQuat.h:19
std::vector< TopoPoint > myTopoPointsUVs
Definition: DtDecalProjectorComponent.h:340
bool myUseProjectedTextureCoordinates
Definition: DtDecalProjectorComponent.h:324
Contains the makVrv::DtDecalProjectorComponentInterface class declaration.
DtTextureInterface * myTexture
Definition: DtDecalProjectorComponent.h:321
DtVector myBoundsMin
Definition: DtDecalProjectorComponent.h:304
DtVector3< float > myProjCoordsAxisU
Definition: DtDecalProjectorComponent.h:326
DtDecalProjectorRenderer & myRenderer
Definition: DtDecalProjectorComponent.h:308
DtVector myDrawPassOrigin
Definition: DtDecalProjectorComponent.h:329