![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: rangeNetSegMet.h,v $ $Revision: 1.12 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #pragma once 00010 00011 #include "gdb/gdbDefines.h" 00012 #include "gdb/netwrkSegMet.h" 00013 00014 class DtNetworkSegment; 00015 00016 00020 class DT_DLL_gdb DtRangeNetworkSegmentMetric : public DtNetworkSegmentMetric 00021 { 00022 public: 00023 00025 DtRangeNetworkSegmentMetric(); 00026 00028 virtual ~DtRangeNetworkSegmentMetric(); 00029 00031 DtRangeNetworkSegmentMetric(const DtRangeNetworkSegmentMetric& orig); 00032 00034 DtRangeNetworkSegmentMetric& operator=(const DtRangeNetworkSegmentMetric& orig); 00035 00036 public: 00037 00039 virtual double measure(const DtNetworkSegment& seg) const; 00040 00043 virtual bool circumscribedSquareTest(const DtNetworkSegment& seg) const; 00044 00047 virtual bool inscribedSquareTest(const DtNetworkSegment& seg) const; 00048 00050 virtual bool valid(const DtNetworkSegment& seg) const; 00051 00053 virtual bool validSW(double xx, double yy) const; 00054 00056 virtual bool validSE(double xx, double yy) const; 00057 00059 virtual bool validNE(double xx, double yy) const; 00060 00062 virtual bool validNW(double xx, double yy) const; 00063 00065 virtual const DtPoint& centerOfInterest() const; 00066 virtual void setCenterOfInterest(const DtPoint& val); 00067 00069 virtual DtVector vectorCenterOfInterest() const; 00070 virtual void setCenterOfInterest(const DtVector& val); 00071 00073 virtual double maxRange() const; 00074 virtual void setMaxRange(double val); 00075 00077 virtual double measureMultiplier() const; 00078 virtual void setMeasureMultiplier(double val); 00079 00081 virtual bool evalInZ() const; 00082 virtual void setEvalInZ(bool evalInZ); 00083 00086 virtual double closestPointInXY(const DtNetworkSegment& seg, const DtPoint& pointFrom,DtPoint& closest); 00087 virtual void initialize(Coordinate_System* cs); 00088 00089 protected: 00090 virtual double closestPointInXY(const DtNetworkSegment& seg, const DtPoint& pointFrom) const; 00091 00092 virtual double distanceToPoint(const DtNetworkSegment& seg, const DtPoint& point) const; 00093 00094 protected: 00095 00096 DtPoint myCenterOfInterest; 00097 double myMaxRange; 00098 double myMeasureMultiplier; 00099 bool myEvalInZ; 00100 00101 }; 00102