VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
terrainLinearGeometry.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2017 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
15 #include <vlpi/entityType.h>
16 #include <vlpi/entityIdentifier.h>
17 #include <vlutil/vlMachineTypes.h>
18 #include <vlutil/vlString.h>
19 #include <matrix/vlVector.h>
20 #include <vector>
21 
25 {
26 public:
27 
31 
33 
34  virtual void setVertices(const DtWorldLocationStructArray& val);
35  virtual void addVertex(const DtVector64& val);
36  virtual const DtWorldLocationStructArray& vertices() const;
37  virtual void setWidth(const DtFloat64& val);
38  virtual const DtFloat64& width() const;
39 
40  bool operator==(const DtTerrainLinearGeometry& other) const;
41  bool operator!=(const DtTerrainLinearGeometry& other) const;
42 
45  virtual bool approximatelyEqual(const DtTerrainGeometry& other, double tolerance = -1.0) const;
46 
49  virtual DtTerrainAreaTypeEnum32 terrainAreaType() const { return theTerrainAreaType(); };
50 
52  virtual DtTerrainGeometry* clone() const;
53 
55  virtual int variantNetSize() const;
56 
58  virtual int variantOctetBoundary() const { return theVariantOctetBoundary(); };
59 
61  virtual void writeVariantToBuffer( char* buffer ) const;
62 
64  virtual void fillVariantFromBuffer( const char* buffer, int bufferSize, int offset );
65 
66  virtual void printData() const;
67  virtual void printDataToStream(std::ostream &) const;
68 
70  static int theVariantOctetBoundary();
71 
74  static DtTerrainAreaTypeEnum32 theTerrainAreaType();
75 
76 protected:
77 
80 };
81 
82 DT_DLL_vrfExtProtocol std::ostream& operator<<(std::ostream& stream, const DtTerrainLinearGeometry&);
83 
85 
86 
Definition: worldLocationStructArray.h:19
virtual void fillVariantFromBuffer(const char *buffer, int bufferSize, int offset)=0
Reads the variant portion of the record from the buffer.
DtWorldLocationStructArray myVertices
Definition: terrainLinearGeometry.h:78
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
DT_DLL_features std::ostream & operator<<(std::ostream &, const DtFeatureTransform &)
std::ostream output.
Template implementation of DtTerrainGeometryVariantInfo.
Definition: terrainGeometry.h:137
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.
Definition: terrainLinearGeometry.h:24
virtual void printDataToStream(std::ostream &) const
double DtFloat64
Definition: vrvControlStructTypes.h:36
virtual int variantOctetBoundary() const
The octet boundary of the variant portion of the record.
Definition: terrainLinearGeometry.h:58
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
virtual DtTerrainAreaTypeEnum32 terrainAreaType() const
Returns the type of the terrain area (DtTerrainAreaTypeLine). This is the discriminant for the networ...
Definition: terrainLinearGeometry.h:49
voidpf uLong offset
Definition: ioapi.h:42
DtFloat64 myWidth
Definition: terrainLinearGeometry.h:79
virtual DtTerrainGeometry * clone() const =0
Variant specific functions. Must be implemented in derived classes.
DtTerrainGeometryVariantInfoTemplate< DtTerrainLinearGeometry > DtTerrainLinearGeometryInfo
Definition: terrainLinearGeometry.h:84
Definition: terrainGeometry.h:33
DtTerrainGeometry & operator=(const DtTerrainGeometry &orig)

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)