![]() |
VR-Link API Documentation for DIS
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00008 00009 #ifndef DtEnvironmentalGaussianPlumeRecord_H_ 00010 #define DtEnvironmentalGaussianPlumeRecord_H_ 00011 00012 00013 #include "envGeometry.h" 00014 #include <matrix/vlTaitBryan.h> 00015 00020 class DT_DLL_VL DtEnvironmentalGaussianPlumeRecord : 00021 public DtEnvironmentalGeometryRecord 00022 { 00023 public: 00024 00026 DtEnvironmentalGaussianPlumeRecord(); 00027 00029 DtEnvironmentalGaussianPlumeRecord( 00030 const DtEnvironmentalGaussianPlumeRecord& orig); 00031 00033 const DtEnvironmentalGaussianPlumeRecord& operator=( 00034 const DtEnvironmentalGaussianPlumeRecord& orig); 00035 00037 virtual ~DtEnvironmentalGaussianPlumeRecord(); 00038 00040 virtual DtEnvironmentalRecord* clone() const; 00041 00043 virtual void setSourceLocation(const DtVector& sourceLocation); 00044 virtual const DtVector& sourceLocation() const; 00045 00047 virtual void setExtent(const DtVector& extent); 00048 virtual const DtVector& extent() const; 00049 00051 virtual void setOrientation(const DtTaitBryan& orientation); 00052 virtual const DtTaitBryan& orientation() const; 00053 00055 virtual void setExtentVelocity(const DtVector& extentVelocity); 00056 virtual const DtVector& extentVelocity() const; 00057 00059 virtual void setLeadingEdgeHeight(DtFloat32 leadingEdgeHeight); 00060 virtual DtFloat32 leadingEdgeHeight() const; 00061 00063 virtual void setLeadingEdgeVelocity(const DtVector& leadingEdgeVelocity); 00064 virtual const DtVector& leadingEdgeVelocity() const; 00065 00067 virtual bool createNetworkRepresentation(); 00068 00070 const DtNetEnvironmentalGaussianPlumeRecord* plumeNetRep() const; 00071 DtNetEnvironmentalGaussianPlumeRecord* plumeNetRep(); 00072 00074 virtual void setFromNet(const DtNetEnvironmentalRecord& buffer); 00075 00077 virtual int netRepSize() const; 00078 00079 protected: 00080 00082 DtEnvironmentalGaussianPlumeRecord* self() const; 00083 protected: 00084 00085 DtVector mySourceLocation; 00086 DtTaitBryan myOrientation; 00087 DtVector myExtent; 00088 DtVector myExtentVelocity; 00089 double myLeadingEdgeHeight; 00090 DtVector myLeadingEdgeVelocity; 00091 }; 00092 00093 00094 #endif 00095