VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
singleIntersectNetworkSegmentMetric.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2006 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: singleIntersectionNodeMetric.h,v $ $Revision: 1.3 $ $State: Exp $
7 *********************************************************************/
8 #ifndef singleIntersectNetworkSegmentMetric_H_
9 #define singleIntersectNetworkSegmentMetric_H_
10 
11 //
12 // \file singleIntersectionNodeMetric.h
13 // \brief This file contains the DtSingleIntersectNetworkSegmentMetric class declaration.
14 //
15 
16 #include "gdb/gdbDefines.h"
18 #include "geometry/chord.h"
19 
20 class DtNetworkSegment;
21 class DtNetworkEdge;
22 
28 {
29 public:
30 
31  // default constructor
33 
34  // destructor
36 
37  // copy constructor
38  //DtSingleIntersectNetworkSegmentMetric(const DtSingleIntersectNetworkSegmentMetric& orig);
39 
40  // assignment operator
41  //DtSingleIntersectNetworkSegmentMetric& operator=(const DtSingleIntersectNetworkSegmentMetric& orig);
42 
43 public:
44 
46  virtual double measure(const DtNetworkSegment& seg) const;
47 
50  virtual double measure(const DtNetworkSegment& seg, DtPoint &p) const;
51 
53  virtual bool valid(const DtNetworkSegment& seg) const;
54 
56  virtual bool validSW(double xx, double yy) const;
57 
59  virtual bool validSE(double xx, double yy) const;
60 
62  virtual bool validNE(double xx, double yy) const;
63 
65  virtual bool validNW(double xx, double yy) const;
66 
68  virtual const DtNetworkSegment* segmentOfInterest() const;
69  virtual void setSegmentOfInterest(const DtNetworkSegment& segOfInterest);
70 
72  virtual double tolerance() const;
73  virtual void setTolerance(double val);
74 
76  void setIntersectX(double newX);
77  double intersectX() const;
78 
80  void setIntersectY(double newY);
81  double intersectY() const;
82 
84  void setFoundIntersection(bool yesOrNo);
85  bool foundIntersection() const;
86 
88  virtual void initialize( Coordinate_System* cs );
89 
90 protected:
91 
95  bool endpointsCoincidentAtXY(const DtNetworkEdge& edge1,
96  const DtNetworkEdge& edge2, DtReal xValue, DtReal yValue) const;
97 
98  bool pointsCoincidentAtXY(const DtPoint& p1, const DtPoint& p2,
99  DtReal xValue, DtReal yValue) const;
100 
103  double myTolerance;
104 
105  mutable bool myFoundIntersection;
106  mutable double myIntersectX;
107  mutable double myIntersectY;
108 
109  double myMaxX;
110  double myMaxY;
111  double myMinX;
112  double myMinY;
113  DtCoordTransform myTopoToLocal;
114 };
115 
116 #endif
double myIntersectX
Definition: singleIntersectNetworkSegmentMetric.h:106
NOTE: This entire class is deprecated, in favor of Dt3dChord.
Definition: chord.h:40
double myIntersectY
Definition: singleIntersectNetworkSegmentMetric.h:107
double myMinY
Definition: singleIntersectNetworkSegmentMetric.h:112
DtNetworkSegmentMetric is a metric for network segments.
Definition: networkSegmentMetric.h:18
virtual bool validSW(double xx, double yy) const =0
Validate the southwest quadrant (closed on southwest side)
Definition: networkSegment.h:26
virtual bool valid(const DtNetworkSegment &seg) const =0
Validate the segment.
const DtNetworkSegment * mySegmentOfInterest
Definition: singleIntersectNetworkSegmentMetric.h:101
bool myFoundIntersection
Definition: singleIntersectNetworkSegmentMetric.h:105
#define DT_DLL_gdb
Definition: gdbDefines.h:25
virtual double measure(const DtNetworkSegment &seg) const =0
Measure the segment.
DtSingleIntersectNetworkSegmentMetric is a metric for finding any (single) intersection of a specifie...
Definition: singleIntersectNetworkSegmentMetric.h:27
Definition: coordSystem.h:54
double myMaxY
Definition: singleIntersectNetworkSegmentMetric.h:110
double myTolerance
Definition: singleIntersectNetworkSegmentMetric.h:103
double myMinX
Definition: singleIntersectNetworkSegmentMetric.h:111
virtual void initialize(Coordinate_System *cs)
Initialize the metric. Use this call to do any additional preparation/initialization before the metri...
virtual bool validNW(double xx, double yy) const =0
Validate the northwest quadrant (closed on southwest side)
Definition: networkEdge.h:28
virtual bool validNE(double xx, double yy) const =0
Validate the northeast quadrant (closed on southwest side)
A DtChord is a finite line segment in 3-space, represented by two points. Data derived from the two e...
DtChord myTopoSegmentOfInterest
Definition: singleIntersectNetworkSegmentMetric.h:102
double myMaxX
Definition: singleIntersectNetworkSegmentMetric.h:109
DtCoordTransform myTopoToLocal
Definition: singleIntersectNetworkSegmentMetric.h:113
virtual bool validSE(double xx, double yy) const =0
Validate the southeast quadrant (closed on southwest side)
Definition: point.h:34

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)