VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
networkEdgeForwardPointIter.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: networkEdgeForwardPointIter.h,v $ $Revision: 1.5 $ $State: Exp $
7 *********************************************************************/
8 #ifndef networkEdgeForwardPointIter_H_
9 #define networkEdgeForwardPointIter_H_
10 
11 //
12 // \file networkEdgeForwardPointIter.h
13 // \brief This file contains the DtNetworkEdgeForwardPointIter class declaration.
14 //
15 
16 #include "gdb/gdbDefines.h"
17 #include "gdb/networkEdge.h"
19 
20 class DtPoint;
21 class DtString;
22 
23 // DtNetworkEdgeForwardPointIter is a bidirectional iterator over the points
24 // representing a DtNetworkEdge, traversing in the FORWARD 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 forward point iterator starting at the specified
43  // segment along the edge, which means the current point will be the starting 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 DtNetworkEdgeForwardPointIter& other) const;
70  bool operator!=(const DtNetworkEdgeForwardPointIter& other) const;
71 
72  // \return the DtString "DtNetworkEdgeForwardPointIter"
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::iterator myPointIter;
79 
80 private:
81  // default constructor
83 };
84 
85 
86 #endif
virtual const DtString type() const
Definition: networkEdgePointIter.h:119
virtual bool operator!=(const DtNetworkEdgePointIter &other) const
virtual const DtPoint * operator->() const =0
#define DT_DLL_gdb
Definition: gdbDefines.h:25
virtual DtNetworkEdgePointIter & operator=(const DtNetworkEdgePointIter &orig)
Definition: networkEdgePointIter.h:108
virtual bool operator==(const DtNetworkEdgePointIter &other) const
Definition: networkEdge.h:28
virtual void operator++()=0
virtual void operator--()=0
DtNetworkEdge::DtPointContainer::iterator myPointIter
Definition: networkEdgeForwardPointIter.h:78
Definition: networkEdgePointIter.h:26
Definition: networkEdgeForwardPointIter.h:26
Definition: point.h:34
virtual const DtPoint & operator*() const =0

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)