VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
networkEdgeForwardSegmentIter.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: networkEdgeForwardSegmentIter.h,v $ $Revision: 1.4 $ $State: Exp $
7 *********************************************************************/
8 #ifndef networkEdgeForwardSegmentIter_H_
9 #define networkEdgeForwardSegmentIter_H_
10 
11 #include "gdb/gdbDefines.h"
12 #include "gdb/networkEdge.h"
14 
15 class DtNetworkSegment;
16 class DtString;
17 
18 //
19 // DtNetworkEdgeForwardSegmentIter is a bidirectional iterator over the segments
20 // representing a DtNetworkEdge, traversing in the FORWARD direction,
21 // where forward is defined as the direction the segments comprise the edge in memory.
22 // INVARIANT: At all times, this iterator must point to a *valid* DtNetworkEdge.
24 {
25 public:
26  // constructor
27  // \param edge The DtNetworkEdge to iterate over
29 
30  // Constructs a forward segment iterator starting at the specified
31  // segment along the edge
32  // \param edge The DtNetworkEdge to iterate over
33  // \param segmentIter A segmentIter associated with the specified edge to initialize to.
35  DtNetworkEdge::DtSegmentIter segmentIter);
36 
37  // destructor
39 
40  // assignment operator
42 
43  // copy constructor
45 
46  // \return The start or end points of the current segment as defined by the direction
47  // of traversal. (i.e., this is a forward segment iter, so the actual segments start point
48  // will also be returned as the start point, etc.)
49  DtPoint startPoint() const;
50  DtPoint endPoint() const;
51 
52  void operator++();
53  void operator--();
54  DtNetworkSegment& operator*() const;
56 
57  bool operator==(const DtNetworkEdgeSegmentIter& other) const;
58  bool operator==(const DtNetworkEdgeForwardSegmentIter& other) const;
59 
60  bool operator!=(const DtNetworkEdgeSegmentIter& other) const;
61  bool operator!=(const DtNetworkEdgeForwardSegmentIter& other) const;
62 
63  // \return The DtString "DtNetworkEdgeForwardSegmentIter"
64  virtual const DtString type() const;
65 
66 protected:
68 
69 private:
70  // default constructor
72 };
73 
74 
75 #endif
DtSegmentContainer::iterator DtSegmentIter
Definition: networkEdge.h:39
virtual DtPoint startPoint() const =0
virtual const DtString type() const
Definition: networkEdgeSegmentIter.h:92
virtual void operator++()=0
virtual void operator--()=0
Definition: networkSegment.h:26
#define DT_DLL_gdb
Definition: gdbDefines.h:25
DtSegmentContainer::const_iterator DtSegmentConstIter
Definition: networkEdge.h:40
virtual bool operator==(const DtNetworkEdgeSegmentIter &other) const
virtual DtPoint endPoint() const =0
virtual DtNetworkSegment & operator->() const =0
virtual bool operator!=(const DtNetworkEdgeSegmentIter &other) const
virtual DtNetworkSegment & operator*() const =0
Definition: networkEdgeSegmentIter.h:27
Definition: networkEdge.h:28
Definition: point.h:34
DtNetworkEdge::DtSegmentConstIter mySegmentIter
Definition: networkEdgeForwardSegmentIter.h:67
Definition: networkEdgeForwardSegmentIter.h:23

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)