CFx SDK Documentation
2024 SP0
Loading...
Searching...
No Matches
SDK
CFx
dd_inc
FacetModeler
include
Modeler
FMMdlIterators.h
Go to the documentation of this file.
1
2
// Copyright (C) 2002-2022, Open Design Alliance (the "Alliance").
3
// All rights reserved.
4
//
5
// This software and its documentation and related materials are owned by
6
// the Alliance. The software may only be incorporated into application
7
// programs owned by members of the Alliance, subject to a signed
8
// Membership Agreement and Supplemental Software License Agreement with the
9
// Alliance. The structure and organization of this software are the valuable
10
// trade secrets of the Alliance and its suppliers. The software is also
11
// protected by copyright law and international treaty provisions. Application
12
// programs incorporating this software must include the following statement
13
// with their copyright notices:
14
//
15
// This application incorporates Open Design Alliance software pursuant to a license
16
// agreement with Open Design Alliance.
17
// Open Design Alliance Copyright (C) 2002-2022 by Open Design Alliance.
18
// All rights reserved.
19
//
20
// By use of this software, its documentation or related materials, you
21
// acknowledge and accept the above terms.
23
24
#ifndef __FMMDL_ITERATORS_H__
25
#define __FMMDL_ITERATORS_H__
26
27
#include "
Modeler/FMMdlBody.h
"
28
#include "
Modeler/FMMdlVertex.h
"
29
#include "
Modeler/FMMdlEdge.h
"
30
#include "
Modeler/FMMdlFace.h
"
31
32
namespace
FacetModeler
33
{
34
38
class
FMGEOMETRY_API
VertexIterator
39
{
40
public
:
46
VertexIterator
(
const
Body
* pBody);
47
53
bool
done
();
54
58
void
next
();
59
65
Vertex
*
get
();
66
67
private
:
68
Body
* m_pOwner;
// Owner Body pointer.
69
Vertex
* m_pCurrent;
// Current vertex pointer.
70
Vertex
* m_pNext;
// Next vertex pointer.
71
Vertex
* m_pFirst;
// First vertex pointer.
72
};
73
77
class
FMGEOMETRY_API
EdgeBodyIterator
78
{
79
public
:
85
explicit
EdgeBodyIterator
(
const
Body
* pBody);
86
92
bool
done
();
93
99
void
next
(
bool
* bNextLoop = NULL);
100
106
Edge
*
get
();
107
108
private
:
109
Body
* m_pOwner;
// Owner Body pointer.
110
Face
* m_pCurrentFace;
// Current face pointer.
111
Face
* m_pFirstFace;
// First face pointer.
112
OdUInt32
m_iCurrentLoop;
// Current loop index.
113
Edge
* m_pFirst;
// First edge pointer.
114
Edge
* m_pCurrent;
// Current edge pointer.
115
Edge
* m_pNext;
// Next edge pointer.
116
};
117
121
class
FMGEOMETRY_API
EdgeFaceIterator
122
{
123
public
:
129
explicit
EdgeFaceIterator
(
const
Face
* pFace);
130
136
bool
done
();
137
143
void
next
(
bool
* bNextLoop = NULL);
144
150
Edge
*
get
();
151
152
private
:
153
Face
* m_pFace;
// Owner face pointer.
154
OdUInt32
m_iCurrentLoop;
// Current loop index.
155
Edge
* m_pFirst;
// First edge pointer.
156
Edge
* m_pCurrent;
// Current edge pointer.
157
Edge
* m_pNext;
// Next edge pointer.
158
};
159
163
class
FMGEOMETRY_API
FaceIterator
164
{
165
public
:
171
explicit
FaceIterator
(
const
Body
* pBody);
172
178
bool
done
();
179
183
void
next
();
184
190
Face
*
get
();
191
192
private
:
193
Body
* m_pOwner;
// Owner body pointer.
194
Face
* m_pFirst;
// First face pointer.
195
Face
* m_pCurrent;
// Current face pointer.
196
Face
* m_pNext;
// Next face pointer.
197
};
198
199
}
200
201
#endif
//__FMMDL_ITERATORS_H__
FMGEOMETRY_API
#define FMGEOMETRY_API
Definition:
FMBuildSettings.h:37
FMMdlBody.h
FMMdlEdge.h
FMMdlFace.h
FMMdlVertex.h
OdUInt32
unsigned int OdUInt32
Definition:
OdPlatformSettings.h:814
FacetModeler::Body
Definition:
FMMdlBody.h:40
FacetModeler::EdgeBodyIterator
Definition:
FMMdlIterators.h:78
FacetModeler::EdgeBodyIterator::done
bool done()
FacetModeler::EdgeBodyIterator::get
Edge * get()
FacetModeler::EdgeBodyIterator::EdgeBodyIterator
EdgeBodyIterator(const Body *pBody)
FacetModeler::EdgeBodyIterator::next
void next(bool *bNextLoop=NULL)
FacetModeler::EdgeFaceIterator
Definition:
FMMdlIterators.h:122
FacetModeler::EdgeFaceIterator::EdgeFaceIterator
EdgeFaceIterator(const Face *pFace)
FacetModeler::EdgeFaceIterator::get
Edge * get()
FacetModeler::EdgeFaceIterator::done
bool done()
FacetModeler::EdgeFaceIterator::next
void next(bool *bNextLoop=NULL)
FacetModeler::Edge
Definition:
FMMdlEdge.h:41
FacetModeler::Face
Definition:
FMMdlFace.h:43
FacetModeler::FaceIterator
Definition:
FMMdlIterators.h:164
FacetModeler::FaceIterator::FaceIterator
FaceIterator(const Body *pBody)
FacetModeler::FaceIterator::next
void next()
FacetModeler::FaceIterator::done
bool done()
FacetModeler::FaceIterator::get
Face * get()
FacetModeler::Vertex
Definition:
FMMdlVertex.h:38
FacetModeler::VertexIterator
Definition:
FMMdlIterators.h:39
FacetModeler::VertexIterator::get
Vertex * get()
FacetModeler::VertexIterator::done
bool done()
FacetModeler::VertexIterator::VertexIterator
VertexIterator(const Body *pBody)
FacetModeler::VertexIterator::next
void next()
FacetModeler
Definition:
AECDbOpeningBase.h:33
Generated on Wed Apr 5 2023 17:29:15