![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: intersectNetSegMet.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #pragma once 00010 00011 // 00012 // \file intersectNetSegMet.h 00013 // \brief This file contains the DtIntersectNetworkSegmentMetric class declaration. 00014 // 00015 00016 #include "gdb/gdbDefines.h" 00017 #include "gdb/netwrkSegMet.h" 00018 #include "geometry/chord.h" 00019 #include "gdb/netwrkSegHelper.h" 00020 00021 class DtTerrainDatabase; 00022 class DtSpecificationAttribute; 00023 00027 class DT_DLL_gdb DtIntersectNetworkSegmentMetric : public DtNetworkSegmentMetric 00028 { 00029 public: 00030 00032 DtIntersectNetworkSegmentMetric(); 00033 00035 virtual ~DtIntersectNetworkSegmentMetric(); 00036 00038 DtIntersectNetworkSegmentMetric(const DtIntersectNetworkSegmentMetric& orig); 00039 00041 DtIntersectNetworkSegmentMetric& operator=(const DtIntersectNetworkSegmentMetric& orig); 00042 00043 public: 00044 00046 virtual double measure(const DtNetworkSegment& seg) const; 00047 00050 virtual double measure(const DtNetworkSegment& seg, DtPoint &p) const; 00051 00054 virtual bool circumscribedSquareTest(const DtNetworkSegment& seg) const; 00055 00057 virtual bool valid(const DtNetworkSegment& seg) const; 00058 00060 virtual bool validSW(double xx, double yy) const; 00061 00063 virtual bool validSE(double xx, double yy) const; 00064 00066 virtual bool validNE(double xx, double yy) const; 00067 00069 virtual bool validNW(double xx, double yy) const; 00070 00072 virtual const DtChord& centerOfInterest() const; 00073 virtual void setCenterOfInterest(const DtChord& centerOfInterest); 00074 00076 virtual bool evalInZ(); 00077 virtual void setEvalInZ(bool eval); 00078 00080 virtual double maxRange() const; 00081 virtual void setMaxRange(double val); 00082 00084 virtual double measureMultiplier() const; 00085 virtual void setMeasureMultiplier(double val); 00086 00088 virtual const DtTerrainDatabase* terrainDb(); 00089 virtual void setTerrainDb(const DtTerrainDatabase *db); 00090 00092 virtual void initialize( Coordinate_System* cs ); 00093 00094 protected: 00095 00096 const DtTerrainDatabase* myDb; 00097 00098 DtChord myCenterOfInterest; 00099 DtChord myTopoCenterOfInterest; 00100 double myMaxRange; 00101 double myMeasureMultiplier; 00102 00103 double myMaxX; 00104 double myMaxY; 00105 double myMinX; 00106 double myMinY; 00107 double mySize; 00108 00109 DtNetworkSegmentHelper myTopoSeg; 00110 00111 DtPoint myTopoSegEndPoint0; 00112 DtPoint myTopoSegEndPoint1; 00113 DtPoint myQ; 00114 00115 bool myEvalInZ; 00116 DtCoordTransform myTopoToLocal; 00117 00118 };