![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: intersectNetNodMet.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #pragma once 00010 00011 // 00012 // \file intersectNetNodMet.h 00013 // \brief This file contains the DtIntersectNetworkNodeMetric class declaration. 00014 // 00015 00016 #include "gdb/gdbDefines.h" 00017 #include "gdb/netwrkNodMet.h" 00018 #include "gdb/netwrkSegHelper.h" 00019 00020 class DtNetworkNode; 00021 class DtTerrainDatabase; 00022 00026 class DT_DLL_gdb DtIntersectNetworkNodeMetric : public DtNetworkNodeMetric 00027 { 00028 public: 00029 00031 DtIntersectNetworkNodeMetric(); 00032 00034 virtual ~DtIntersectNetworkNodeMetric(); 00035 00037 DtIntersectNetworkNodeMetric(const DtIntersectNetworkNodeMetric& orig); 00038 00040 DtIntersectNetworkNodeMetric& operator=(const DtIntersectNetworkNodeMetric& orig); 00041 00042 public: 00043 00046 virtual double measure(const DtNetworkNode& node) const; 00047 00049 // \param p a reference to a point that is set to the closest point on the segment to the specified point. 00050 virtual double measure(const DtNetworkNode& node, DtPoint &p) const; 00051 00053 virtual bool valid(const DtNetworkNode& node) const; 00054 00056 virtual bool validSW(const DtNetworkNode& node) const; 00057 00059 virtual bool validSE(const DtNetworkNode& node) const; 00060 00062 virtual bool validNE(const DtNetworkNode& node) const; 00063 00065 virtual bool validNW(const DtNetworkNode& node) const; 00066 00068 virtual const DtChord& centerOfInterest() const; 00069 virtual void setCenterOfInterest(const DtChord& val); 00070 00072 virtual double maxRange() const; 00073 virtual void setMaxRange(double val); 00074 00076 virtual bool evalInZ(); 00077 virtual void setEvalInZ(bool eval); 00078 00080 virtual double measureMultiplier() const; 00081 virtual void setMeasureMultiplier(double val); 00082 00084 virtual const DtTerrainDatabase* terrainDb(); 00085 virtual void setTerrainDb(const DtTerrainDatabase *db); 00086 00088 virtual void initialize(Coordinate_System* cs); 00089 00090 protected: 00091 00092 virtual bool intersectsWithNode(const DtNetworkSegment& seg, 00093 const DtNetworkNode& node, DtPoint& intersectionPoint, 00094 double& time) const; 00095 00096 protected: 00097 00098 const DtTerrainDatabase* myDb; 00099 00100 DtChord myCenterOfInterest; 00101 double myMaxRange; 00102 double myMeasureMultiplier; 00103 00104 double myMaxX; 00105 double myMaxY; 00106 double myMinX; 00107 double myMinY; 00108 double mySize; 00109 00110 DtNetworkSegmentHelper mySeg; 00111 00112 bool myEvalInZ; 00113 DtCoordTransform myTopoToLocal; 00114 };