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;
151 virtual bool allowSparseTiling()
const;
163 virtual bool pick(
double x,
double y,
double z)
const;
185 virtual void computeTopoTransform(DtCoordTransform& geocToTopo,
191 virtual void updateProjectedUVCoordinates();
197 virtual void computeDrawPasses();
202 virtual void computeDrawPassBounds();
210 virtual void computeProjectionRangeFromArea(
float boundsSizeX,
float boundsSizeY);
222 size_t drawPassCount()
const;
226 size_t passPointCount(
unsigned int pass)
const;
231 const void* passPoints(
unsigned int pass)
const;
235 const void* passPointsUVs(
unsigned int pass)
const;
239 void passBounds(
unsigned int pass,
DtVector& boundsMin,
DtVector& boundsMax);
277 static void setPickLineRadius(
float radius);
290 size_t myPointCount = 0;
291 void* myPointDataStart =
nullptr;
292 void* myPointUVsDataStart =
nullptr;
303 unsigned int myStipplePattern[32];
317 float myDrawPassRotation[16];
361 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:168
bool myAutoProjectionRange
Definition: DtDecalProjectorComponent.h:301
float myProjectionRangeNear
Definition: DtDecalProjectorComponent.h:299
voidpf uLong int origin
Definition: ioapi.h:42
float myDrawPassBoundsRadius
Definition: DtDecalProjectorComponent.h:319
std::vector< DrawPassData > myDrawPasses
Definition: DtDecalProjectorComponent.h:328
A structure to hold data for a draw pass.
Definition: DtDecalProjectorComponent.h:288
voidpf void uLong size
Definition: ioapi.h:39
Interface for a texture. Used to pass in a texture to vrvGraphics.
Definition: DtTextureInterface.h:24
float myProjectionRangeFar
Definition: DtDecalProjectorComponent.h:300
DtVector3< float > myProjCoordsOrigin
Definition: DtDecalProjectorComponent.h:311
std::vector< StagingPoint > myStagingPoints
Definition: DtDecalProjectorComponent.h:322
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:285
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:316
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
float myFillPatternFrequency
Definition: DtDecalProjectorComponent.h:305
std::vector< TopoPoint > myTopoPoints
Definition: DtDecalProjectorComponent.h:325
DtVector3< float > myProjCoordsAxisV
Definition: DtDecalProjectorComponent.h:313
Contains makVrv::DtQuat class.
A structure to hold data for 1 point.
Definition: DtDecalProjectorComponent.h:242
bool myAllowAltitudeTileMultiplier
Definition: DtDecalProjectorComponent.h:308
DtVector myBoundsMax
Definition: DtDecalProjectorComponent.h:294
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
creator for DtDecalProjectorComponent
Definition: DtDecalProjectorComponent.h:334
DtVector3< float > myDrawPassBoundsCenter
Definition: DtDecalProjectorComponent.h:318
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:326
bool myUseProjectedTextureCoordinates
Definition: DtDecalProjectorComponent.h:310
Contains the makVrv::DtDecalProjectorComponentInterface class declaration.
DtTextureInterface * myTexture
Definition: DtDecalProjectorComponent.h:307
DtVector myBoundsMin
Definition: DtDecalProjectorComponent.h:293
DtVector3< float > myProjCoordsAxisU
Definition: DtDecalProjectorComponent.h:312
DtDecalProjectorRenderer & myRenderer
Definition: DtDecalProjectorComponent.h:297
DtVector myDrawPassOrigin
Definition: DtDecalProjectorComponent.h:315