VR-Forces 4.0.4 Class Documentation
include/vrfExtObjects/ittEnvProcData.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2004 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: ittEnvProcData.h,v $ $Revision: 1.9 $ $State: Exp $
00007 *******************************************************************************/
00008 #ifndef ittEnvProcData_H_
00009 #define ittEnvProcData_H_
00010 
00011 #include <vrfExtObjects/ittEnvProcRecs.h>
00012 #include <vrfExtObjects/envSmokeState.h>
00013 #include <matrix/vlVector.h>
00014 #include <matrix/vlTaitBryan.h>
00015 
00016 #include <vrfExtObjects/vrfExtObjectsDefines.h>
00017 class DT_DLL_vrfExtObjects DtIttSourceData
00018 {
00019 public:
00020    DtIttSourceData();
00021    DtIttSourceData(const DtIttSourceData&);
00022    virtual ~DtIttSourceData();
00023 
00024    virtual DtIttSourceData* clone() = 0;
00025    virtual void copy(DtNetEnvironmentalRecord*) = 0;
00026    virtual bool tick(DtTime t) { return true; }
00027 
00028 public:
00029    int   myRecordType;
00030 };
00031 
00032 class DT_DLL_vrfExtObjects DtSmokeStateData : public DtIttSourceData
00033 {
00034 public:
00035    DtSmokeStateData();
00036    DtSmokeStateData(const DtSmokeStateData&);
00037    DtSmokeStateData(const DtNetEnvSmokeStateRecord& rec);
00038 
00039    virtual ~DtSmokeStateData();
00040 
00041    virtual DtSmokeStateData* clone();
00042    virtual void copy(DtNetEnvironmentalRecord*);
00043    virtual void copy(const DtNetEnvSmokeStateRecord& rec);
00044 
00045    static DtIttSourceData* create(DtNetEnvironmentalRecord*);
00046    virtual bool tick(DtTime t); // Override this function to update this record each tick
00047 
00048 public:
00049    short myAgent;
00050    double myMass;
00051    double myDensity;
00052    double myDensityRate;
00053 };
00054 
00055 class DT_DLL_vrfExtObjects DtIttEnvProcData : public DtIttSourceData
00056 {
00057 public:
00058    DtIttEnvProcData();
00059    DtIttEnvProcData(const DtIttEnvProcData& t);
00060 
00061    virtual ~DtIttEnvProcData();
00062 
00063    virtual bool tick(DtTime t); 
00064    virtual void copySource(DtNetEnvironmentalRecord* source);
00065 
00066    void setSigmaLevel(double);
00067    double sigmaLevel() const;
00068 
00069    virtual void getValues(DtVector& location, DtVector& sigmas, DtTaitBryan& orientation);
00070 
00071    void setSourceData(DtIttSourceData*);
00072    const DtIttSourceData* sourceData() const;
00073 
00074 public:
00075    DtVector myLocation;
00076    DtVector myVelocity;
00077    DtVector myAngularVelocity;
00078    DtVector mySigmasSize;
00079    DtTaitBryan myOrientation;
00080 
00081    double   mySigmaLevel;
00082 
00083    DtIttSourceData*  mySourceData;
00084 };
00085 
00086 class DT_DLL_vrfExtObjects DtIttUniformBoxKind : public DtIttEnvProcData
00087 {
00088 public:
00089    DtIttUniformBoxKind();
00090    DtIttUniformBoxKind(const DtIttUniformBoxKind& rec);
00091    DtIttUniformBoxKind(const IttEnvGeomUniformBox& rec);
00092    virtual ~DtIttUniformBoxKind();
00093 
00094    static DtIttSourceData* create(DtNetEnvironmentalRecord*);
00095    virtual DtIttSourceData* clone();
00096    virtual bool tick(DtTime t);
00097 
00098 protected:
00099    virtual void copy(DtNetEnvironmentalRecord*);
00100    virtual void copy(const IttEnvGeomUniformBox& rec);
00101 };
00102 
00103 class DT_DLL_vrfExtObjects DtIttGaussianPuffKind : public DtIttEnvProcData
00104 {
00105 public:
00106    DtIttGaussianPuffKind();
00107    DtIttGaussianPuffKind(const DtIttGaussianPuffKind& rec);
00108    DtIttGaussianPuffKind(const IttEnvGeomGausPuff& rec);
00109 
00110    virtual ~DtIttGaussianPuffKind();
00111 
00112    static DtIttSourceData* create(DtNetEnvironmentalRecord*);
00113    virtual DtIttSourceData* clone();
00114    virtual bool tick(DtTime t);
00115 
00116 protected:
00117    virtual void copy(DtNetEnvironmentalRecord*);
00118    virtual void copy(const IttEnvGeomGausPuff& rec);
00119 
00120 public:
00121    DtVector myDeltaSigmas;
00122    DtVector myOriginationLocation;
00123    double myCentroidHeight;
00124 };
00125 
00126 typedef DtIttSourceData* (*DtIttSourceDataCreator)(DtNetEnvironmentalRecord*);
00127 
00128 class DT_DLL_vrfExtObjects DtIttHazardKind : public DtIttSourceData
00129 {
00130 public:
00131    DtIttHazardKind();
00132    DtIttHazardKind(const DtIttHazardKind&);
00133 
00134 public:
00135    short    myAgent;
00136    double   myMass;
00137    double   myProbability;
00138 };
00139 
00140 class DT_DLL_vrfExtObjects DtIttParticleCloud : public DtIttHazardKind
00141 {
00142 public:
00143    DtIttParticleCloud();
00144    DtIttParticleCloud(const DtIttParticleCloud&);
00145 
00146 public:
00147    double   myMinParticalSize;
00148    double   myMaxParticalSize;
00149    double   myAvgParticalMass;
00150 };
00151 
00152 class DT_DLL_vrfExtObjects DtIttBioStateKind : public DtIttParticleCloud
00153 {
00154 public:
00155    DtIttBioStateKind();
00156    DtIttBioStateKind(const DtIttBioStateKind&);
00157    DtIttBioStateKind(const IttEnvStateBio&);
00158 
00159    virtual DtIttSourceData* clone();
00160    virtual void copy(DtNetEnvironmentalRecord*);
00161    static DtIttSourceData* create(DtNetEnvironmentalRecord*);
00162 
00163    virtual void copy(const IttEnvStateBio& rec);
00164 
00165 public:
00166    double   myViability;
00167    double   myPurity;
00168 };
00169 
00170 class DT_DLL_vrfExtObjects DtIttChemLiquidStateKind : public DtIttParticleCloud
00171 {
00172 public:
00173    DtIttChemLiquidStateKind();
00174    DtIttChemLiquidStateKind(const DtIttChemLiquidStateKind&);
00175    DtIttChemLiquidStateKind(const IttEnvStateChemLiquid&);
00176 
00177    virtual DtIttSourceData* clone();
00178    virtual void copy(DtNetEnvironmentalRecord*);
00179    static DtIttSourceData* create(DtNetEnvironmentalRecord*);
00180    virtual void copy(const IttEnvStateChemLiquid& rec);
00181 
00182 
00183 public:
00184    double   myPurity;
00185 };
00186 
00187 class DT_DLL_vrfExtObjects DtIttChemStateKind : public DtIttHazardKind
00188 {
00189 public:
00190    DtIttChemStateKind();
00191    DtIttChemStateKind(const DtIttChemStateKind&);
00192    DtIttChemStateKind(const IttEnvStateChem&);
00193 
00194    virtual DtIttSourceData* clone();
00195    virtual void copy(DtNetEnvironmentalRecord*);
00196    static DtIttSourceData* create(DtNetEnvironmentalRecord*);
00197    virtual void copy(const IttEnvStateChem& rec);
00198 };
00199 
00200 class DtIttRadStateKind : public DtIttParticleCloud
00201 {
00202 public:
00203    DtIttRadStateKind();
00204    DtIttRadStateKind(const DtIttRadStateKind&);
00205    DtIttRadStateKind(const IttEnvStateRad&);
00206 
00207    virtual DtIttSourceData* clone();
00208    virtual void copy(DtNetEnvironmentalRecord*);
00209    static DtIttSourceData* create(DtNetEnvironmentalRecord*);
00210    virtual void copy(const IttEnvStateRad& rec);
00211 
00212 public:
00213    double   myActivity;
00214 };
00215 
00216 inline void DtIttEnvProcData::setSigmaLevel(double s)
00217 {
00218    if ((s < 1) || (s > 10))
00219    {
00220       return;
00221    }
00222    
00223    mySigmaLevel = s;
00224 }
00225 
00226 inline double DtIttEnvProcData::sigmaLevel() const
00227 {
00228    return mySigmaLevel;
00229 }
00230 
00231 inline void DtIttEnvProcData::setSourceData(DtIttSourceData* d)
00232 {
00233    delete mySourceData;
00234    mySourceData = d;
00235 }
00236 
00237 inline const DtIttSourceData* DtIttEnvProcData::sourceData() const
00238 {
00239    return mySourceData;
00240 }
00241 
00242 #endif
00243 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)