VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
networkEdgeReverseSegmentIter.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: networkEdgeReverseSegmentIter.h,v $ $Revision: 1.4 $ $State: Exp $
7 *********************************************************************/
8 #ifndef networkEdgeReverseSegmentIter_H_
9 #define networkEdgeReverseSegmentIter_H_
10 
11 //
12 // \file networkEdgeReverseSegmentIter.h
13 // \brief Contains the DtNetworkEdgeReverseSegmentIter class declaration.
14 //
15 
16 #include "gdb/gdbDefines.h"
17 #include "gdb/networkEdge.h"
19 
20 class DtNetworkSegment;
21 class DtString;
22 
23 //
24 // DtNetworkEdgeReverseSegmentIter is a bidirectional iterator over the segments
25 // representing a DtNetworkEdge, traversing in the REVERSE direction.
26 // \invariant At all times, this iterator must point to a *valid* DtNetworkEdge.
28 {
29 public:
30  // constructor
31  // \param edge The DtNetworkEdge to iterate over
33 
34  // Constructs a forward segment iterator starting at the specified
35  // segment along the edge
36  // \param edge The DtNetworkEdge to iterate over
37  // \param segmentIter A segmentIter associated with the specified edge to initialize to.
39  DtNetworkEdge::DtSegmentReverseIter segmentReverseIter);
40 
41  // destructor
43 
44  // assignment operator
46 
47  // copy constructor
49 
50  // \returns the start or end points of the current segment as defined by the direction
51  // of traversal. (i.e., this is a reverse segment iter, so the actual segments endpoint
52  // will be returned as the start point, and vice versa.)
53  DtPoint startPoint() const;
54  DtPoint endPoint() const;
55 
56  void operator++();
57  void operator--();
58  DtNetworkSegment& operator*() const;
60 
61  bool operator==(const DtNetworkEdgeSegmentIter& other) const;
62  bool operator==(const DtNetworkEdgeReverseSegmentIter& other) const;
63 
64  bool operator!=(const DtNetworkEdgeSegmentIter& other) const;
65  bool operator!=(const DtNetworkEdgeReverseSegmentIter& other) const;
66 
67  // \return the DtString "DtNetworkEdgeReverseSegmentIter"
68  virtual const DtString type() const;
69 
70 protected:
72 
73 private:
74  // default constructor
76 };
77 
78 
79 #endif
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
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
DtSegmentContainer::reverse_iterator DtSegmentReverseIter
Definition: networkEdge.h:41
DtNetworkEdge::DtSegmentReverseIter mySegmentReverseIter
Definition: networkEdgeReverseSegmentIter.h:71
Definition: networkEdgeReverseSegmentIter.h:27
Definition: point.h:34

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)