![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2005 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: signaturePropagator.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef signaturePropagator_H_ 00009 #define signaturePropagator_H_ 00010 00014 00017 00018 #include <vlutil/vlString.h> 00019 00020 class DtSignaturePropagatorFactory; 00021 class DtSignaturePropagatorArgs; 00022 class DtSignaturePropagatorDescriptor; 00023 class DtPhysicalWorld; 00024 00034 #include "vrfobjcore/vrfobjcoreDefines.h" 00035 class DT_DLL_vrfobjcore DtSignaturePropagator 00036 { 00037 private: 00039 DtSignaturePropagator(); 00041 DtSignaturePropagator(const DtSignaturePropagator& orig); 00043 DtSignaturePropagator& operator=(const DtSignaturePropagator& orig); 00044 00045 public: 00046 DtSignaturePropagator(const DtSignaturePropagatorDescriptor* descriptor, 00047 DtPhysicalWorld* physicalWorld); 00048 00050 virtual ~DtSignaturePropagator(); 00051 00053 virtual void init(); 00054 00058 virtual double calculateApparentSignature(double absoluteSignature, 00059 const DtSignaturePropagatorArgs& args) const = 0; 00060 00062 virtual const DtSignaturePropagatorDescriptor* descriptor() const; 00063 00065 virtual const DtPhysicalWorld* physicalWorld() const; 00066 00068 static void setFactory(DtSignaturePropagatorFactory* factory); 00069 00072 static DtSignaturePropagator* createSignaturePropagator(const DtString& type, 00073 const DtSignaturePropagatorDescriptor* desc, DtPhysicalWorld* physicalWorld); 00074 00075 protected: 00076 static DtSignaturePropagatorFactory* theFactory; 00077 00078 const DtSignaturePropagatorDescriptor* myDescriptor; 00079 DtPhysicalWorld* myPhysicalWorld; 00080 }; 00081 00082 #endif