VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
aggregateSimObjectFacade.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
12 #include <vlpi/disEnums.h>
13 
16 class DtFormationState;
17 class DtExtent;
18 
19 #define CHECK_IS_VALID(Method) if (!isUsable()) throw DtUnimplementedMethod("The " #Method " is not applicable for the given object.");
20 
30 {
31 public:
34 
36  bool isUsable() const;
37 
38  enum DtAggregateState aggregateState() const;
39 
40  DtString formationName() const;
41  DtAggregateFormation formation() const;
42 
45  const std::vector<DtSimObjectReference>& subordinates() const;
46  int indexOfSubordinate(const DtUUID&) const;
48 
50  int numberSubordinateVehicles() const;
51  bool canHaveSubordinates() const;
52 
53  bool isSubordinate(const DtUUID&) const;
54 
56  double totalMass() const;
57 
58  const DtFormationState* formationState() const;
59 
60  bool aggregatedExtent(DtExtent& extent) const;
61 
63  double formationHalfLength() const;
64 
66  double formationSize() const;
67 
68  DtString activity() const;
69 
70 protected:
71  virtual void setupDecorator() override;
72 
74  virtual DtSimObjectReference simObject() const = 0;
75 
76 protected:
78 };
79 
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
Definition: formationState.h:41
virtual DtSimObjectReference simObject() const =0
Implemented by subclasses to return the sim object this class represents.
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
This will keep track of the subordinates of the sim object supplied.
Definition: aggregateDecorator.h:19
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
DtAggregateSimObjectDecorator * myAggregateSimObjectDecorator
Definition: aggregateSimObjectFacade.h:77
This DtMovementSimObjectFacadeInterface class will provide API functionality for objects that have ve...
Definition: movementSimObjectFacade.h:21
bool isUsable() const
Make this call after construction to see if the supplied sim object can use this class.
The DtRangeItemSimObjectFacadeInterface class deals with range rings items for objects that support i...
Definition: rangeItemSimObjectFacade.h:14
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
This DtAppearanceSimObjectFacadeInterface class will provide common routines for appearances that app...
Definition: appearanceSimObjectFacade.h:20
DtSimObjectFacade< DtAggregateSimObjectFacadeInterface > DtAggregateSimObjectFacade
Definition: aggregateSimObjectFacade.h:80
Contains the set of readable/writeable parameters associated with a pseudo-aggregate entities...
Definition: aggregateObjectParameters.h:29
This DtAggregateSimObjectFacadeInterface class will provide API functionality for aggregate level cal...
Definition: aggregateSimObjectFacade.h:26

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)