VR-Forces 4.5 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
gdb
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
"
18
#include "
gdb/networkEdgePointIter.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.
26
class
DT_DLL_gdb
DtNetworkEdgeReversePointIter
:
public
DtNetworkEdgePointIter
27
{
28
public
:
29
30
// constructor
31
// \param edge The DtNetworkEdge to iterate over
32
DtNetworkEdgeReversePointIter
(
DtNetworkEdge
& edge);
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.
39
DtNetworkEdgeReversePointIter
(
DtNetworkEdge
& edge,
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.
49
DtNetworkEdgeReversePointIter
(
DtNetworkEdge
& edge,
50
const
DtPoint
& initialPoint);
51
52
// destructor
53
virtual
~
DtNetworkEdgeReversePointIter
();
54
55
// assignment operator
56
DtNetworkEdgeReversePointIter
&
operator=
(
const
DtNetworkEdgeReversePointIter
& orig);
57
58
// copy constructor
59
DtNetworkEdgeReversePointIter
(
const
DtNetworkEdgeReversePointIter
& orig);
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
82
DtNetworkEdgeReversePointIter
();
83
};
84
85
86
#endif
Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (
www.mak.com
)