VR-Forces 4.8 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
networkEdgeSegmentIter.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 2004 MaK Technologies, Inc.
3
** All rights reserved.
4
*********************************************************************/
5
/*********************************************************************
6
** $RCSfile: networkEdgeSegmentIter.h,v $ $Revision: 1.5 $ $State: Exp $
7
*********************************************************************/
8
#ifndef networkEdgeSegmentIter_H_
9
#define networkEdgeSegmentIter_H_
10
11
//
12
// \file networkEdgeSegmentIter.h
13
// \brief Contains the DtNetworkEdgeSegmentIter 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
// DtNetworkEdgeSegmentIter is an ABC representing
25
// an iterator over the segments of a DtNetworkEdge.
26
// \invariant At all times, this iterator must point to a valid DtNetworkEdge.
27
class
DT_DLL_gdb
DtNetworkEdgeSegmentIter
28
{
29
public
:
30
// \param an edge to iterate over.
31
DtNetworkEdgeSegmentIter
(
DtNetworkEdge
& edge);
32
33
// copy constructor
34
DtNetworkEdgeSegmentIter
(
const
DtNetworkEdgeSegmentIter
& orig);
35
36
// destructor
37
virtual
~
DtNetworkEdgeSegmentIter
();
38
39
// \return A DtPoint representing the starting or ending point of
40
// the segment as defined in the direction of iteration.
41
virtual
DtPoint
startPoint()
const
= 0;
42
virtual
DtPoint
endPoint()
const
= 0;
43
44
virtual
const
DtNetworkEdge
& edge()
const
;
45
46
// Increments/Decrements to the next/previous segment in the edge as defined
47
// by the direction of iteration.
48
virtual
void
operator++() = 0;
49
virtual
void
operator--() = 0;
50
virtual
DtNetworkSegment
& operator*()
const
= 0;
51
virtual
DtNetworkSegment
& operator->()
const
= 0;
52
53
virtual
bool
operator==
(
const
DtNetworkEdgeSegmentIter
& other)
const
;
54
virtual
bool
operator!=
(
const
DtNetworkEdgeSegmentIter
& other)
const
;
55
56
// \return The DtString "DtNetworkEdgeSegmentIter"
57
virtual
const
DtString
type()
const
;
58
59
protected
:
60
// Tests the invariant of the iterator as defined above.
61
// \return a boolean signifying true if the invariant is valid
62
// and false otherwise.
63
bool
testInvariant
()
const
;
64
65
// default constructor
66
DtNetworkEdgeSegmentIter
();
67
68
DtNetworkEdge
*
myEdge
;
69
};
70
71
72
inline
DtNetworkEdgeSegmentIter::DtNetworkEdgeSegmentIter
(
DtNetworkEdge
& edge):
73
myEdge(&edge)
74
{
75
assert(
testInvariant
());
76
}
77
78
inline
DtNetworkEdgeSegmentIter::~DtNetworkEdgeSegmentIter
()
79
{
80
}
81
82
inline
DtNetworkEdgeSegmentIter::DtNetworkEdgeSegmentIter
(
const
DtNetworkEdgeSegmentIter
& orig)
83
{
84
assert(
testInvariant
());
85
86
myEdge
= orig.
myEdge
;
87
88
assert(
testInvariant
());
89
}
90
91
92
inline
const
DtString
DtNetworkEdgeSegmentIter::type
()
const
93
{
94
assert(
testInvariant
());
95
96
return
"DtNetworkEdgeSegmentIter"
;
97
}
98
99
100
#endif
DtNetworkEdgeSegmentIter::testInvariant
bool testInvariant() const
DtNetworkEdgeSegmentIter::type
virtual const DtString type() const
Definition:
networkEdgeSegmentIter.h:92
operator==
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
testInvariant
*bool testInvariant() const
DtNetworkSegment
Definition:
networkSegment.h:26
DtNetworkEdgeSegmentIter::myEdge
DtNetworkEdge * myEdge
Definition:
networkEdgeSegmentIter.h:68
DtNetworkEdgeSegmentIter::~DtNetworkEdgeSegmentIter
virtual ~DtNetworkEdgeSegmentIter()
Definition:
networkEdgeSegmentIter.h:78
gdbDefines.h
DT_DLL_gdb
#define DT_DLL_gdb
Definition:
gdbDefines.h:25
networkEdge.h
DtNetworkEdgeSegmentIter::DtNetworkEdgeSegmentIter
DtNetworkEdgeSegmentIter()
DtNetworkEdgeSegmentIter
Definition:
networkEdgeSegmentIter.h:27
DtNetworkEdge
Definition:
networkEdge.h:28
operator!=
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
DtString
DtPoint
Definition:
point.h:34
Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (
www.mak.com
)