VR-Engage  2.2
Loading...
Searching...
No Matches
vreFixedWingEntitySetController.h
Go to the documentation of this file.
1/*******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4*******************************************************************************/
5
6//! \file vreFixedWingEntitySetController.h
7//! \ingroup vreVrfmodel
8//! \brief Controller for managing sets of fixed wing entities
9//!
10//! This file defines the DtVreFixedWingEntitySetController class which extends
11//! the base set controller specifically for fixed wing aircraft entities. It enables
12//! coordinated control over groups of fixed wing aircraft in a simulation.
13
14#pragma once
15
16#include "vreVrfmodel/export.h"
18
19#include <vrfmodel/fixedWingEntitySetController.h>
20
21namespace makVre
22{
23//! \brief Type identifier for the VRE fixed wing entity set controller component
24const char DtVreFixedWingEntitySetControllerType[] = "vre-fixed-wing-entity-set-controller";
25
26//! \brief Controller for managing sets of fixed wing aircraft entities
27//!
28//! DtVreFixedWingEntitySetController extends the base set controller functionality
29//! specifically for fixed wing aircraft. It provides specialized commands and behavior
30//! for fixed wing aircraft entities, allowing them to be controlled as a coordinated
31//! set. This controller manages formation flying, coordinated movement, and other
32//! fixed-wing-specific operations for multiple aircraft.
33class VREVRFMODEL_DLL DtVreFixedWingEntitySetController : public DtVreSetController<DtFixedWingEntitySetController>
34{
35public:
36 //! \brief Constructor
37 //! \param name The name of this component
38 //! \param owner The local object that owns this component
39 //! \param simManager The simulation services manager
40 //! \param desc Component descriptor with configuration parameters
41 //! \param parentRegistry Optional parent registry for reader/writer functionality
42 //!
43 //! Creates a new fixed wing entity set controller component with the specified parameters.
44 DtVreFixedWingEntitySetController(const DtString& name, DtLocalObject* owner, DtSimulationServices* simManager,
45 DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
46
47 //! \brief Virtual destructor
48 //!
49 //! Cleans up resources used by the fixed wing entity set controller component.
51
52 //! \brief Gets the type identifier for this component
53 //! \return String identifying the component type (DtVreFixedWingEntitySetControllerType)
54 //!
55 //! Implements the DtSimComponent::type() method to return the
56 //! type identifier for this component.
57 virtual const char* type() const override;
58
59 //! \brief Factory method to create a new instance of this component
60 //! \param name The name for the new component
61 //! \param owner The local object that will own this component
62 //! \param simManager The simulation services manager
63 //! \param desc Optional component descriptor
64 //! \param parentRegistry Optional parent registry for reader/writer functionality
65 //! \return Pointer to the newly created component
66 //!
67 //! Static factory method used by the component creation system to instantiate
68 //! new instances of this component type.
69 static DtSimComponent* creator(const DtString& name, DtLocalObject* owner, DtSimulationServices* simManager,
70 DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
71
72private:
73 //! \brief Default constructor (not implemented)
74 //!
75 //! Default constructor is private and not implemented to prevent
76 //! creation of instances without proper initialization.
78
79 //! \brief Copy constructor (not implemented)
80 //!
81 //! Copy constructor is private and not implemented to prevent
82 //! copy construction.
84
85 //! \brief Assignment operator (not implemented)
86 //! \return Reference to this object
87 //!
88 //! Assignment operator is private and not implemented to prevent assignment.
90};
91
92} // namespace makVre
DtVreFixedWingEntitySetController(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Constructor.
virtual ~DtVreFixedWingEntitySetController() override
Virtual destructor.
const DtVreFixedWingEntitySetController & operator=(const DtVreFixedWingEntitySetController &orig)
Assignment operator (not implemented)
DtVreFixedWingEntitySetController()
Default constructor (not implemented)
virtual const char * type() const override
Gets the type identifier for this component.
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Factory method to create a new instance of this component.
DtVreFixedWingEntitySetController(const DtVreFixedWingEntitySetController &orig)
Copy constructor (not implemented)
DtVreSetController(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Definition vreSetController.h:76
Defines export macros for the vreVrfmodel library.
#define VREVRFMODEL_DLL
Definition export.h:22
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
const char DtVreFixedWingEntitySetControllerType[]
Type identifier for the VRE fixed wing entity set controller component.
Definition vreFixedWingEntitySetController.h:24
Template controller for handling VR-Engage entity control assignments.