VR-Forces Development_Version 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
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
"
18
#include "
gdb/networkEdgePointIter.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.
26
class
DT_DLL_gdb
DtNetworkEdgeForwardPointIter
:
public
DtNetworkEdgePointIter
27
{
28
public
:
29
30
// constructor
31
// \param edge The DtNetworkEdge to iterate over
32
DtNetworkEdgeForwardPointIter
(
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
DtNetworkEdgeForwardPointIter
(
DtNetworkEdge
& edge,
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.
49
DtNetworkEdgeForwardPointIter
(
DtNetworkEdge
& edge,
50
const
DtPoint
& initialPoint);
51
52
// destructor
53
virtual
~
DtNetworkEdgeForwardPointIter
();
54
55
// assignment operator
56
DtNetworkEdgeForwardPointIter
&
operator=
(
const
DtNetworkEdgeForwardPointIter
& orig);
57
58
// copy constructor
59
DtNetworkEdgeForwardPointIter
(
const
DtNetworkEdgeForwardPointIter
& 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
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
82
DtNetworkEdgeForwardPointIter
();
83
};
84
85
86
#endif
Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)