![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: metric.h,v $ $Revision: 1.6 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #pragma once 00010 00011 #include "gdb/gdbDefines.h" 00012 #include "gdb/specification.h" 00013 #include "terrainCS/coordSystem.h" 00014 #include "matrix/coordTransform.h" 00015 00016 class DtSimpleList; 00017 class DtSpecificationAttribute; 00018 00019 // DtMetric has the list of attributes to validate a metric against the 00020 // specification of the data in the vector network. Before the vector 00021 // network uses any metric, it initializes it by invoking its initialize 00022 // method. 00023 class DT_DLL_gdb DtMetric 00024 { 00025 public: 00026 00028 DtMetric(); 00029 00031 virtual ~DtMetric(); 00032 00034 DtMetric(const DtMetric& orig); 00035 00037 DtMetric& operator=(const DtMetric& orig); 00038 00039 public: 00040 00044 virtual bool validSpecification(const DtSpecification &spec) const; 00045 00047 virtual void addEqualCondition(const DtSpecificationAttribute& attrib); 00048 00050 virtual void addDifferentCondition(const DtSpecificationAttribute& attrib); 00051 00053 virtual void addLessThanCondition(const DtSpecificationAttribute& attrib); 00054 00056 virtual void addGreaterThanCondition(const DtSpecificationAttribute& attrib); 00057 00060 virtual void setEqualList(DtSimpleList* list); 00061 00064 virtual void setDiffList(DtSimpleList* list); 00065 00068 virtual void setLessThanList(DtSimpleList* list); 00069 00072 virtual void setGreaterThanList(DtSimpleList* list); 00073 00078 virtual void initialize(Coordinate_System* cs); 00079 00080 protected: 00081 00083 virtual void emptyLists(); 00084 00086 virtual void copyLists(const DtMetric& orig); 00087 00088 protected: 00089 bool myOwnEqualList; 00090 bool myOwnDiffList; 00091 bool myOwnLessThanList; 00092 bool myOwnGreaterThanList; 00093 00094 DtSimpleList* myEqualAttributes; 00095 DtSimpleList* myDifferentAttributes; 00096 DtSimpleList* myGreaterThanAttributes; 00097 DtSimpleList* myLessThanAttributes; 00098 DtCoordTransform myLocalToTopo; 00099 bool myMetricInitialized; 00100 };