VR-Forces 4.0.4 Class Documentation
include/vrfExtObjects/tacticalSmokeObjSR.h
Go to the documentation of this file.
00001 #ifndef tacticalSmokeObjSR_H_
00002 #define tacticalSmokeObjSR_H_
00003 
00004 #include <vrfExtObjects/vrfExtObjectsDefines.h>
00005 #include <vl/envProcessSR.h>
00006 
00008 class DT_DLL_vrfExtObjects DtTacticalSmokeObjectRepository : public DtEnvironmentProcessRepository
00009 {
00010 public:
00011    DtTacticalSmokeObjectRepository();
00012    static DtEnvironmentProcessRepository* create();
00013 
00015    virtual void setTranslationThreshold(double d);
00016    virtual double translationThreshold() const;
00017 
00019    virtual void setRotationThreshold(double d);
00020    virtual double rotationThreshold() const;
00021 
00023    virtual void setDensityThreshold(double d);
00024    virtual double densityThreshold() const;
00025 
00027    virtual void setSigmaThreshold(double d);
00028    virtual double sigmaThreshold() const;
00029 
00030    // Utility to compare this repository against a remote estimate
00031    // Returns True is an update should be sent; False otherwise
00032    virtual bool sendNeeded(const DtEnvironmentProcessRepository& asSeenByRemote);
00033 
00034    void setClock(DtClock* clock);
00035    DtClock* clock() const;
00036 
00037    double lastUpdateTime() const;
00038    void setLastUpdateTime(DtTime t);
00039 
00040 protected:
00041 
00042    virtual bool sendRecordsNeeded(const DtEnvironmentProcessRepository& asSeenByRemote);
00043    virtual bool sendGaussianNeeded(DtTime dt, DtNetEnvironmentalRecord* rec, DtNetEnvironmentalRecord* recRemote);
00044    virtual bool sendSmokeStateNeeded(DtTime dt, DtNetEnvironmentalRecord* rec, DtNetEnvironmentalRecord* recRemote);
00045    virtual bool sendNetRecNeeded(DtNetEnvironmentalRecord* rec1, DtNetEnvironmentalRecord* rec2);
00046 
00047 protected:
00048    // Thresholds for send-side dead reckoning (used to limit #updates sent)
00049    double myTranslationThreshold;
00050    double myRotationThreshold;
00051    double myDensityThreshold;
00052    double mySigmaThreshold;
00053 
00054    // Helpers for send-side dead reckoning (used to limit #updates sent)
00055    DtClock* myClock;
00056    DtTime myLastUpdateTime;
00057 };
00058 
00059 #endif
00060 
00061 

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)