VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
networkEdgeReversePointIter.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: networkEdgeReversePointIter.h,v $ $Revision: 1.5 $ $State: Exp $
7 *********************************************************************/
8 #ifndef networkEdgeReversePointIter_H_
9 #define networkEdgeReversePointIter_H_
10 
11 //
12 // \file networkEdgeReversePointIter.h
13 // \brief Contains the DtNetworkEdgeReversePointIter class declaration.
14 //
15 
16 #include "gdb/gdbDefines.h"
17 #include "gdb/networkEdge.h"
19 
20 class DtPoint;
21 class DtString;
22 
23 // DtNetworkEdgeReversePointIter is a bidirectional iterator over the points
24 // representing a DtNetworkEdge, traversing in the REVERSE direction.
25 // \invariant At all times, this iterator must point to a valid DtNetworkEdge.
27 {
28 public:
29 
30  // constructor
31  // \param edge The DtNetworkEdge to iterate over
33 
34  // constructor that allows the user to specify that
35  // the iterator is initialized to the end of the
36  // points of the edge.
37  // \param edge The DtNetworkEdge to iterate over
38  // \param isEnd Is the iterator at the end or not.
40  bool isEnd);
41 
42  // Constructs a reverse point iterator starting at the specified
43  // segment along the edge, which means the current point will be the ending point
44  // of the specified segment.
45  // \param edge The DtNetworkEdge to iterate over
46  // \param initialPoint The point in the edge to initialize to.
47  // \note If the initialPoint is NOT in the edge, then the iterator is
48  // initialized to the first point as if no point had been specified.
50  const DtPoint& initialPoint);
51 
52  // destructor
54 
55  // assignment operator
57 
58  // copy constructor
60 
61  void operator++();
62  void operator--();
63  const DtPoint& operator*() const;
64  const DtPoint* operator->() const;
65 
66  bool operator==(const DtNetworkEdgePointIter& other) const;
67  bool operator!=(const DtNetworkEdgePointIter& other) const;
68 
69  bool operator==(const DtNetworkEdgeReversePointIter& other) const;
70  bool operator!=(const DtNetworkEdgeReversePointIter& other) const;
71 
72  // \return the DtString "DtNetworkEdgeReversePointIter"
73  virtual const DtString type() const;
74 
75 protected:
76  // Used to keep track of where we are in the parent edge since the last segment
77  // in either direction will have both a starting and ending point.
78  DtNetworkEdge::DtPointContainer::reverse_iterator myReversePointIter;
79 
80 private:
81  // default constructor
83 };
84 
85 
86 #endif

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)