VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
terrainCircularGeometry.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 
24 {
25 public:
27  DtTerrainCircularGeometry(const DtVector64 &loc, const DtFloat64 &radius);
28  virtual ~DtTerrainCircularGeometry() override;
31 
32  virtual void setLocation(const DtVector64& val);
33  virtual const DtVector64& location() const;
34  virtual void setRadius(const DtFloat64& val);
35  virtual const DtFloat64& radius() const;
36 
37  bool operator==(const DtTerrainCircularGeometry& other) const;
38  bool operator!=(const DtTerrainCircularGeometry& other) const;
39 
42  virtual bool approximatelyEqual(const DtTerrainGeometry &other,
43  double tolerance = -1.0) const override;
44 
47  virtual DtTerrainAreaTypeEnum32 terrainAreaType() const override { return theTerrainAreaType(); };
48 
50  virtual DtTerrainGeometry *clone() const override;
51 
53  virtual int variantNetSize() const override;
54 
56  virtual int variantOctetBoundary() const override { return theVariantOctetBoundary(); };
57 
59  virtual void writeVariantToBuffer(char *buffer) const override;
60 
62  virtual void fillVariantFromBuffer(const char *buffer, int bufferSize,
63  int offset) override;
64 
65  virtual void printData() const override;
66  virtual void printDataToStream(std::ostream &) const override;
67 
69  static int theVariantOctetBoundary();
70 
73  static DtTerrainAreaTypeEnum32 theTerrainAreaType();
74 
75 protected:
76 
77  DtVector64 myLocation;
79 };
80 
81 DT_DLL_vrfExtProtocol std::ostream& operator<<(std::ostream& stream, const DtTerrainCircularGeometry&);
82 
virtual DtTerrainAreaTypeEnum32 terrainAreaType() const override
Returns the type of the terrain area (DtTerrainAreaTypeCircle). This is the discriminant for the netw...
Definition: terrainCircularGeometry.h:47
virtual void fillVariantFromBuffer(const char *buffer, int bufferSize, int offset)=0
Reads the variant portion of the record from the buffer.
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
DtTerrainGeometryVariantInfoTemplate< DtTerrainCircularGeometry > DtTerrainCircularGeometryInfo
Definition: terrainCircularGeometry.h:83
DT_DLL_features std::ostream & operator<<(std::ostream &, const DtFeatureTransform &)
std::ostream output.
DtFloat64 myRadius
Definition: terrainCircularGeometry.h:78
Template implementation of DtTerrainGeometryVariantInfo.
Definition: terrainGeometry.h:138
virtual int variantOctetBoundary() const override
The octet boundary of the variant portion of the record.
Definition: terrainCircularGeometry.h:56
bool operator==(const DtTerrainGeometry &other) const
virtual int variantNetSize() const =0
The net size of the variant portion of the record.
virtual void writeVariantToBuffer(char *buffer) const =0
Writes the variant portion of the record to the buffer.
virtual void printDataToStream(std::ostream &) const
double DtFloat64
Definition: vrvControlStructTypes.h:36
bool operator!=(const DtTerrainGeometry &other) const
voidpf stream
Definition: ioapi.h:39
DtTerrainAreaTypeEnum32
Definition: terrainGeometry.h:21
#define DT_DLL_vrfExtProtocol
Definition: vrfExtProtocolDefines.h:23
voidpf uLong offset
Definition: ioapi.h:42
Definition: terrainCircularGeometry.h:23
virtual DtTerrainGeometry * clone() const =0
Variant specific functions. Must be implemented in derived classes.
Definition: terrainGeometry.h:33
DtTerrainGeometry & operator=(const DtTerrainGeometry &orig)
DtVector64 myLocation
Definition: terrainCircularGeometry.h:77

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)