blob: d82218f8ae5efaaed63ae52b2b63984e22b563ad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
// File: TopOpeBRepBuild_TopOpeBRepBuild_GIter.cxx
// Created: Tue Feb 13 17:50:18 1996
// Author: Jean Yves LEBEY
// <jyl@meteox>
#include <TopOpeBRepBuild_GIter.ixx>
#include <TopOpeBRepBuild_GTopo.hxx>
#define MYGTOPO (*((TopOpeBRepBuild_GTopo*)mypG))
TopOpeBRepBuild_GIter::TopOpeBRepBuild_GIter() : myII(0),mypG(NULL)
{
}
TopOpeBRepBuild_GIter::TopOpeBRepBuild_GIter(const TopOpeBRepBuild_GTopo& G) :
myII(0),mypG(NULL)
{
Init(G);
}
void TopOpeBRepBuild_GIter::Find()
{
while ( myII <= 8 ) {
Standard_Boolean b = MYGTOPO.Value(myII);
if (b) break;
myII++;
}
}
void TopOpeBRepBuild_GIter::Init()
{
myII = 0;
Find();
}
void TopOpeBRepBuild_GIter::Init(const TopOpeBRepBuild_GTopo& G)
{
mypG = (Standard_Address)&G;
Init();
}
Standard_Boolean TopOpeBRepBuild_GIter::More() const
{
if (myII <= 8) {
Standard_Boolean b = MYGTOPO.Value(myII);
return b;
}
else
return Standard_False;
}
void TopOpeBRepBuild_GIter::Next()
{
myII++;
Find();
}
void TopOpeBRepBuild_GIter::Current(TopAbs_State& s1, TopAbs_State& s2) const
{
if ( !More() ) return;
Standard_Integer i1,i2;
MYGTOPO.Index(myII,i1,i2);
s1 = MYGTOPO.GState(i1);
s2 = MYGTOPO.GState(i2);
}
void TopOpeBRepBuild_GIter::Dump(Standard_OStream& OS) const
{
if ( !More()) return;
TopAbs_State s1 = TopAbs_UNKNOWN,s2 = TopAbs_UNKNOWN; Current(s1,s2);
Standard_Boolean b = MYGTOPO.Value(s1,s2);
TopOpeBRepBuild_GTopo::DumpSSB(OS,s1,s2,b); OS<<endl;
}
|