![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00006 00007 00008 00009 #pragma once 00010 00011 #include "vrfobjcore/standardSignaturePropagator.h" 00012 #include "vrfobjcore/vrfobjcoreDefines.h" 00013 00014 class DtChord; 00015 class DtVector; 00016 class DtRwGaussianPuffData; 00017 class DtVisualSignaturePropagatorDescriptor; 00018 00034 class DT_DLL_vrfobjcore DtVisualSignaturePropagator : public DtStandardSignaturePropagator 00035 { 00036 public: 00038 DtVisualSignaturePropagator(const DtSignaturePropagatorDescriptor* desc, 00039 DtPhysicalWorld* physicalWorld); 00040 00042 virtual ~DtVisualSignaturePropagator(); 00043 00045 virtual void init(); 00046 00051 virtual double calculateApparentSignature(double absoluteSignature, 00052 const DtSignaturePropagatorArgs& args) const; 00053 00056 virtual double calculateSmokeReductionFactor(double apparentSignature, 00057 const DtSignaturePropagatorArgs& args) const; 00058 00060 static DtSignaturePropagator* create(const DtSignaturePropagatorDescriptor* desc, 00061 DtPhysicalWorld* physicalWorld); 00062 00063 protected: 00064 00066 virtual bool chordIntersectsPuff(const DtVector& geocStartPoint, const DtVector& geocEndPoint, 00067 const DtRwGaussianPuffData& puff, DtVector& intersectPoint, DtChord& intersectSegment) const; 00068 00069 private: 00071 DtVisualSignaturePropagator(const DtVisualSignaturePropagator& orig); 00073 DtVisualSignaturePropagator& operator=(const DtVisualSignaturePropagator& orig); 00074 00075 protected: 00076 const DtVisualSignaturePropagatorDescriptor* myVisualPropagatorDescriptor; 00077 }; 00078