VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
networkEdgeReversePointConstIter.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: networkEdgeReversePointConstIter.h,v $ $Revision: 1.5 $ $State: Exp $
7 *********************************************************************/
8 #ifndef networkEdgeReversePointConstIter_H_
9 #define networkEdgeReversePointConstIter_H_
10 
11 //
12 // \file networkEdgeReversePointConstIter.h
13 // \brief Contains the DtNetworkEdgeReversePointConstIter class declaration.
14 //
15 
16 #include "gdb/gdbDefines.h"
17 #include "gdb/networkEdge.h"
19 
20 class DtPoint;
21 class DtString;
22 
23 // DtNetworkEdgeReversePointConstIter 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 DtNetworkEdgePointConstIter& other) const;
67  bool operator!=(const DtNetworkEdgePointConstIter& other) const;
68 
69  bool operator==(const DtNetworkEdgeReversePointConstIter& other) const;
70  bool operator!=(const DtNetworkEdgeReversePointConstIter& other) const;
71 
72  // \return the DtString "DtNetworkEdgeReversePointConstIter"
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::const_reverse_iterator myReversePointConstIter;
79 
80 private:
81  // default constructor
83 };
84 
85 
86 #endif
virtual const DtPoint & operator*() const =0
virtual const DtString type() const
Definition: networkEdgePointConstIter.h:120
virtual void operator++()=0
#define DT_DLL_gdb
Definition: gdbDefines.h:25
virtual void operator--()=0
Definition: networkEdgeReversePointConstIter.h:26
Definition: networkEdgePointConstIter.h:27
virtual bool operator!=(const DtNetworkEdgePointConstIter &other) const
Definition: networkEdge.h:28
virtual const DtPoint * operator->() const =0
DtNetworkEdge::DtPointContainer::const_reverse_iterator myReversePointConstIter
Definition: networkEdgeReversePointConstIter.h:78
virtual bool operator==(const DtNetworkEdgePointConstIter &other) const
virtual DtNetworkEdgePointConstIter & operator=(const DtNetworkEdgePointConstIter &orig)
Definition: networkEdgePointConstIter.h:109
Definition: point.h:34

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)