VR-Forces 4.6.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
gdb
networkEdgeSegmentConstIter.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 2004 MaK Technologies, Inc.
3
** All rights reserved.
4
*********************************************************************/
5
/*********************************************************************
6
** $RCSfile: networkEdgeSegmentConstIter.h,v $ $Revision: 1.5 $ $State: Exp $
7
*********************************************************************/
8
#ifndef networkEdgeSegmentConstIter_H_
9
#define networkEdgeSegmentConstIter_H_
10
11
//
12
// \file networkEdgeSegmentConstIter.h
13
// \brief Contains the DtNetworkEdgeSegmentConstIter class declaration.
14
//
15
16
#include "
gdb/gdbDefines.h
"
17
#include "
gdb/networkEdge.h
"
18
19
class
DtSegment;
20
class
DtString
;
21
22
23
//
24
// DtNetworkEdgeSegmentConstIter is an ABC representing
25
// a const iterator over the segments of a DtNetworkEdge.
26
// \invariant At all times, this iterator must point to a valid DtNetworkEdge.
27
// \invariant This iterator cannot be used to modify the reference DtNetworkEdge.
28
class
DT_DLL_gdb
DtNetworkEdgeSegmentConstIter
29
{
30
public
:
31
// \param an edge to iterate over.
32
DtNetworkEdgeSegmentConstIter
(
const
DtNetworkEdge
& edge);
33
34
// copy constructor
35
DtNetworkEdgeSegmentConstIter
(
const
DtNetworkEdgeSegmentConstIter
& orig);
36
37
// destructor
38
virtual
~
DtNetworkEdgeSegmentConstIter
();
39
40
// \return A DtPoint representing the starting or ending point of
41
// the segment as defined in the direction of iteration.
42
virtual
DtPoint
startPoint()
const
= 0;
43
virtual
DtPoint
endPoint()
const
= 0;
44
45
virtual
const
DtNetworkEdge
& edge()
const
;
46
47
// Increments/Decrements to the next/previous segment in the edge as defined
48
// by the direction of iteration.
49
virtual
void
operator++() = 0;
50
virtual
void
operator--() = 0;
51
virtual
const
DtNetworkSegment
& operator*()
const
= 0;
52
virtual
const
DtNetworkSegment
& operator->()
const
= 0;
53
54
virtual
bool
operator==
(
const
DtNetworkEdgeSegmentConstIter
& other)
const
;
55
virtual
bool
operator!=
(
const
DtNetworkEdgeSegmentConstIter
& other)
const
;
56
57
// \return the DtString "DtNetworkEdgeSegmentConstIter"
58
virtual
const
DtString
type()
const
;
59
60
protected
:
61
// Tests the invariant of the iterator as defined above.
62
// \return a boolean signifying true if the invariant is valid
63
// and false otherwise.
64
bool
testInvariant()
const
;
65
66
// default constructor
67
DtNetworkEdgeSegmentConstIter
();
68
69
const
DtNetworkEdge
*
myEdge
;
70
};
71
72
73
inline
DtNetworkEdgeSegmentConstIter::DtNetworkEdgeSegmentConstIter
(
const
DtNetworkEdge
& edge):
74
myEdge(&edge)
75
{
76
assert(
testInvariant
());
77
}
78
79
inline
DtNetworkEdgeSegmentConstIter::~DtNetworkEdgeSegmentConstIter
()
80
{
81
}
82
83
inline
DtNetworkEdgeSegmentConstIter::DtNetworkEdgeSegmentConstIter
(
const
DtNetworkEdgeSegmentConstIter
& orig)
84
{
85
assert(
testInvariant
());
86
87
myEdge
= orig.
myEdge
;
88
89
assert(
testInvariant
());
90
}
91
92
inline
const
DtString
DtNetworkEdgeSegmentConstIter::type
()
const
93
{
94
assert(
testInvariant
());
95
96
return
"DtNetworkEdgeSegmentConstIter"
;
97
}
98
99
100
#endif
Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (
www.mak.com
)