VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
terrainCraterGeometry.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2025 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
14 #include <vlpi/entityType.h>
15 #include <vlpi/entityIdentifier.h>
16 #include <vlutil/vlMachineTypes.h>
17 #include <vlutil/vlString.h>
18 #include <matrix/vlVector.h>
19 #include <vector>
20 
22 {
29 };
30 
34 {
35 public:
37  DtTerrainCraterGeometry(const DtVector64& loc, const DtFloat64& radius);
38  DtTerrainCraterGeometry(const DtVector64 &loc, const DtFloat64 &majorAxis,
39  const DtFloat64 &minorAxis);
40  virtual ~DtTerrainCraterGeometry() override;
43 
44  virtual void setLocation(const DtVector64& val);
45  virtual const DtVector64& location() const;
46  virtual void setMinorAxis(const DtFloat64& val);
47  virtual const DtFloat64& minorAxis() const;
48  virtual void setMajorAxis(const DtFloat64& val);
49  virtual const DtFloat64& majorAxis() const;
50  virtual void setHeading(const DtFloat64& val);
51  virtual const DtFloat64& heading() const;
52  virtual void setDepth(const DtFloat64 &val);
53  virtual const DtFloat64& depth() const;
54  virtual void setCraterEffectEnum(const DtInt32& val);
55  virtual const DtInt32& craterEffectEnum() const;
56  virtual void setCraterImageEnum(const DtInt32& val);
57  virtual const DtInt32& craterImageEnum() const;
58  virtual void setSoilType(const DtInt32& val);
59  virtual const DtInt32& soilType() const;
60 
61  bool operator==(const DtTerrainCraterGeometry& rhs) const;
62  bool operator!=(const DtTerrainCraterGeometry& rhs) const;
63 
66  virtual bool approximatelyEqual(const DtTerrainGeometry &other,
67  double tolerance = -1.0) const override;
68 
71  virtual DtTerrainAreaTypeEnum32 terrainAreaType() const override { return theTerrainAreaType(); };
72 
74  virtual DtTerrainGeometry *clone() const override;
75 
77  virtual int variantNetSize() const override;
78 
80  virtual int variantOctetBoundary() const override { return theVariantOctetBoundary(); };
81 
83  virtual void writeVariantToBuffer(char *buffer) const override;
84 
86  virtual void fillVariantFromBuffer(const char *buffer, int bufferSize,
87  int offset) override;
88 
89  virtual void printData() const override;
90  virtual void printDataToStream(std::ostream &) const override;
91 
93  static int theVariantOctetBoundary();
94 
97  static DtTerrainAreaTypeEnum32 theTerrainAreaType();
98 
99 protected:
100  DtVector64 myLocation;
108 };
109 
110 DT_DLL_vrfExtProtocol std::ostream& operator<<(std::ostream& stream, const DtTerrainCraterGeometry&);
111 
Definition: terrainCraterGeometry.h:33
virtual void fillVariantFromBuffer(const char *buffer, int bufferSize, int offset)=0
Reads the variant portion of the record from the buffer.
Definition: terrainCraterGeometry.h:26
virtual bool approximatelyEqual(const DtTerrainGeometry &other, double tolerance=-1.0) const =0
Determines if the values that define the geometry are approximately equal (within tolerance)...
virtual void printData() const
Definition: terrainCraterGeometry.h:23
Definition: terrainCraterGeometry.h:24
DtFloat64 myMajorAxis
Definition: terrainCraterGeometry.h:101
DtFloat64 myDepth
Definition: terrainCraterGeometry.h:104
DT_DLL_features std::ostream & operator<<(std::ostream &, const DtFeatureTransform &)
std::ostream output.
Definition: terrainCraterGeometry.h:28
Template implementation of DtTerrainGeometryVariantInfo.
Definition: terrainGeometry.h:138
bool operator==(const DtTerrainGeometry &other) const
DtTerrainGeometryVariantInfoTemplate< DtTerrainCraterGeometry > DtTerrainCraterGeometryInfo
Definition: terrainCraterGeometry.h:112
DtInt32 myCraterImageEnum
Definition: terrainCraterGeometry.h:106
virtual int variantNetSize() const =0
The net size of the variant portion of the record.
DtFloat64 myMinorAxis
Definition: terrainCraterGeometry.h:102
virtual void writeVariantToBuffer(char *buffer) const =0
Writes the variant portion of the record to the buffer.
DtTerrainCraterEffectEnum32
Definition: terrainCraterGeometry.h:21
int DtInt32
Definition: vrvControlStructTypes.h:31
virtual void printDataToStream(std::ostream &) const
virtual int variantOctetBoundary() const override
The octet boundary of the variant portion of the record.
Definition: terrainCraterGeometry.h:80
double DtFloat64
Definition: vrvControlStructTypes.h:36
bool operator!=(const DtTerrainGeometry &other) const
Definition: terrainCraterGeometry.h:25
voidpf stream
Definition: ioapi.h:39
DtTerrainAreaTypeEnum32
Definition: terrainGeometry.h:21
#define DT_DLL_vrfExtProtocol
Definition: vrfExtProtocolDefines.h:23
DtInt32 myCraterEffectEnum
Definition: terrainCraterGeometry.h:105
Definition: terrainCraterGeometry.h:27
DtFloat64 myHeading
Definition: terrainCraterGeometry.h:103
virtual DtTerrainAreaTypeEnum32 terrainAreaType() const override
Returns the type of the terrain area (DtTerrainAreaTypeCrater). This is the discriminant for the netw...
Definition: terrainCraterGeometry.h:71
DtVector64 myLocation
Definition: terrainCraterGeometry.h:100
voidpf uLong offset
Definition: ioapi.h:42
virtual DtTerrainGeometry * clone() const =0
Variant specific functions. Must be implemented in derived classes.
DtInt32 mySoilType
Definition: terrainCraterGeometry.h:107
Definition: terrainGeometry.h:33
DtTerrainGeometry & operator=(const DtTerrainGeometry &orig)

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)