VR-Engage  2.2
Loading...
Searching...
No Matches
laserDesignatorVisualizer.h
Go to the documentation of this file.
1/******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4******************************************************************************/
5
6//! \file laserDesignatorVisualizer.h
7//! \brief Defines specialized laser designator visualizers for VR-Engage
8//!
9//! This file contains VR-Engage specific implementations of laser designator
10//! visualization, providing both 2D and 3D visualization capabilities for
11//! targeting systems. These classes extend the core VR-Vantage visualizers
12//! with functionality specific to the VR-Engage application.
13
14#pragma once
15
17#include <vrvCore/Dt3DLaserDesignatorVisualizer.h>
18#include <vrvCore/Dt2DLaserDesignatorVisualizer.h>
19
20namespace makVre
21{
22//! \brief 3D laser designator visualization for VR-Engage
23//!
24//! DtVre3DLaserDesignatorVisualizer provides VR-Engage specific implementation
25//! for 3D visualization of laser designator beams. It extends the core VR-Vantage
26//! 3D laser designator visualizer with custom appearance and behavior suitable
27//! for the VR-Engage application's targeting visualization needs.
28class PLAYERSTATION_DLL DtVre3DLaserDesignatorVisualizer : public makVrv::Dt3DLaserDesignatorVisualizer
29{
30public:
31 //! \brief Constructor
32 //! \param simulation Reference to the simulation connection
33 //! \param listener Reference to the state listener for event notifications
34 //! \param sceneObject Pointer to the scene object agent representing the designator source
35 //! \param modelSet Model set identifier for the visualization
36 //!
37 //! Creates a new 3D laser designator visualizer specific to VR-Engage with the
38 //! specified simulation connection, state listener, scene object, and model set.
39 DtVre3DLaserDesignatorVisualizer(makVrv::DtBaseConnection& simulation, makVrv::DtStateListener& listener,
40 makVrv::DtSceneObjectAgent* sceneObject, makVrv::DtModelSetId modelSet);
41
42 //! \brief Virtual destructor
43 //!
44 //! Ensures proper cleanup of resources used by the visualizer.
46
47 //! \brief Creates the visual representation of the laser beam
48 //!
49 //! Overrides the base implementation to create a laser beam visualization
50 //! with VR-Engage specific appearance and behavior. This includes custom
51 //! texturing, color, and effects suitable for the application's targeting needs.
52 virtual void createLaserLine() override;
53};
54
55//! \brief Creator type definition for 3D laser designator visualizers
56//!
57//! This typedef creates a factory for generating DtVre3DLaserDesignatorVisualizer
58//! instances. It uses the template-based creator pattern from VR-Vantage to
59//! register and instantiate visualizers when needed.
61 makVrv::DtStateVisualizerCreatorTemplate<DtVre3DLaserDesignatorVisualizer>;
62
63
64//! \brief 2D laser designator visualization for VR-Engage
65//!
66//! DtVre2DLaserDesignatorVisualizer provides VR-Engage specific implementation
67//! for 2D visualization of laser designator beams. It extends the core VR-Vantage
68//! 2D laser designator visualizer with custom appearance and behavior suitable
69//! for the VR-Engage application's targeting visualization needs in 2D views.
70class PLAYERSTATION_DLL DtVre2DLaserDesignatorVisualizer : public makVrv::Dt2DLaserDesignatorVisualizer
71{
72public:
73 //! \brief Constructor
74 //! \param simulation Reference to the simulation connection
75 //! \param listener Reference to the state listener for event notifications
76 //! \param sceneObject Pointer to the scene object agent representing the designator source
77 //! \param modelSet Model set identifier for the visualization
78 //!
79 //! Creates a new 2D laser designator visualizer specific to VR-Engage with the
80 //! specified simulation connection, state listener, scene object, and model set.
81 //! The 2D visualization is used for tactical displays, maps, and other 2D views.
82 DtVre2DLaserDesignatorVisualizer(makVrv::DtBaseConnection& simulation, makVrv::DtStateListener& listener,
83 makVrv::DtSceneObjectAgent* sceneObject, makVrv::DtModelSetId modelSet);
84
85 //! \brief Virtual destructor
86 //!
87 //! Ensures proper cleanup of resources used by the visualizer.
89
90 //! \brief Creates the visual representation of the laser beam in 2D
91 //!
92 //! Overrides the base implementation to create a 2D laser beam visualization
93 //! with VR-Engage specific appearance and behavior. This is typically shown
94 //! as a line or arrow on 2D maps and tactical displays.
95 virtual void createLaserLine() override;
96};
97
98//! \brief Creator type definition for 2D laser designator visualizers
99//!
100//! This typedef creates a factory for generating DtVre2DLaserDesignatorVisualizer
101//! instances. It uses the template-based creator pattern from VR-Vantage to
102//! register and instantiate visualizers when needed.
104 makVrv::DtStateVisualizerCreatorTemplate<DtVre2DLaserDesignatorVisualizer>;
105} // namespace makVre
virtual void createLaserLine() override
Creates the visual representation of the laser beam in 2D.
DtVre2DLaserDesignatorVisualizer(makVrv::DtBaseConnection &simulation, makVrv::DtStateListener &listener, makVrv::DtSceneObjectAgent *sceneObject, makVrv::DtModelSetId modelSet)
Constructor.
virtual ~DtVre2DLaserDesignatorVisualizer() override
Virtual destructor.
DtVre3DLaserDesignatorVisualizer(makVrv::DtBaseConnection &simulation, makVrv::DtStateListener &listener, makVrv::DtSceneObjectAgent *sceneObject, makVrv::DtModelSetId modelSet)
Constructor.
virtual ~DtVre3DLaserDesignatorVisualizer() override
Virtual destructor.
virtual void createLaserLine() override
Creates the visual representation of the laser beam.
Defines export macros for the VR-Engage Player Station library.
#define PLAYERSTATION_DLL
Definition export.h:24
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
makVrv::DtStateVisualizerCreatorTemplate< DtVre3DLaserDesignatorVisualizer > DtVre3DLaserDesignatorVisualizerCreator
Creator type definition for 3D laser designator visualizers.
Definition laserDesignatorVisualizer.h:60
makVrv::DtStateVisualizerCreatorTemplate< DtVre2DLaserDesignatorVisualizer > DtVre2DLaserDesignatorVisualizerCreator
Creator type definition for 2D laser designator visualizers.
Definition laserDesignatorVisualizer.h:103