0026937: Eliminate NO_CXX_EXCEPTION macro support
[occt.git] / src / ChFiDS / ChFiDS_Stripe.hxx
CommitLineData
42cf5bc1 1// Created on: 1994-03-09
2// Created by: Isabelle GRIGNON
3// Copyright (c) 1994-1999 Matra Datavision
4// Copyright (c) 1999-2014 OPEN CASCADE SAS
5//
6// This file is part of Open CASCADE Technology software library.
7//
8// This library is free software; you can redistribute it and/or modify it under
9// the terms of the GNU Lesser General Public License version 2.1 as published
10// by the Free Software Foundation, with special exception defined in the file
11// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12// distribution for complete text of the license and disclaimer of any warranty.
13//
14// Alternatively, this file may be used under the terms of Open CASCADE
15// commercial license or contractual agreement.
16
17#ifndef _ChFiDS_Stripe_HeaderFile
18#define _ChFiDS_Stripe_HeaderFile
19
20#include <Standard.hxx>
21#include <Standard_Type.hxx>
22
23#include <Standard_Real.hxx>
24#include <ChFiDS_HData.hxx>
25#include <Standard_Integer.hxx>
26#include <TopAbs_Orientation.hxx>
27#include <MMgt_TShared.hxx>
28#include <Standard_Boolean.hxx>
29class ChFiDS_Spine;
30class Geom2d_Curve;
31
32
33class ChFiDS_Stripe;
34DEFINE_STANDARD_HANDLE(ChFiDS_Stripe, MMgt_TShared)
35
36//! Data characterising a band of fillet.
37class ChFiDS_Stripe : public MMgt_TShared
38{
39
40public:
41
42
43 Standard_EXPORT ChFiDS_Stripe();
44
45 //! Reset everything except Spine.
46 Standard_EXPORT void Reset();
47
48 const Handle(ChFiDS_HData)& SetOfSurfData() const;
49
50 const Handle(ChFiDS_Spine)& Spine() const;
51
52 TopAbs_Orientation OrientationOnFace1() const;
53
54 TopAbs_Orientation OrientationOnFace2() const;
55
56 Standard_Integer Choix() const;
57
58 Handle(ChFiDS_HData)& ChangeSetOfSurfData();
59
60 Handle(ChFiDS_Spine)& ChangeSpine();
61
62 void OrientationOnFace1 (const TopAbs_Orientation Or1);
63
64 void OrientationOnFace2 (const TopAbs_Orientation Or2);
65
66 void Choix (const Standard_Integer C);
67
68 void FirstParameters (Standard_Real& Pdeb, Standard_Real& Pfin) const;
69
70 void LastParameters (Standard_Real& Pdeb, Standard_Real& Pfin) const;
71
72 void ChangeFirstParameters (const Standard_Real Pdeb, const Standard_Real Pfin);
73
74 void ChangeLastParameters (const Standard_Real Pdeb, const Standard_Real Pfin);
75
76 Standard_Integer FirstCurve() const;
77
78 Standard_Integer LastCurve() const;
79
80 void ChangeFirstCurve (const Standard_Integer Index);
81
82 void ChangeLastCurve (const Standard_Integer Index);
83
84 const Handle(Geom2d_Curve)& FirstPCurve() const;
85
86 const Handle(Geom2d_Curve)& LastPCurve() const;
87
88 Handle(Geom2d_Curve)& ChangeFirstPCurve();
89
90 Handle(Geom2d_Curve)& ChangeLastPCurve();
91
92 TopAbs_Orientation FirstPCurveOrientation() const;
93
94 TopAbs_Orientation LastPCurveOrientation() const;
95
96 void FirstPCurveOrientation (const TopAbs_Orientation O);
97
98 void LastPCurveOrientation (const TopAbs_Orientation O);
99
100 Standard_Integer IndexFirstPointOnS1() const;
101
102 Standard_Integer IndexFirstPointOnS2() const;
103
104 Standard_Integer IndexLastPointOnS1() const;
105
106 Standard_Integer IndexLastPointOnS2() const;
107
108 void ChangeIndexFirstPointOnS1 (const Standard_Integer Index);
109
110 void ChangeIndexFirstPointOnS2 (const Standard_Integer Index);
111
112 void ChangeIndexLastPointOnS1 (const Standard_Integer Index);
113
114 void ChangeIndexLastPointOnS2 (const Standard_Integer Index);
115
116 Standard_EXPORT void Parameters (const Standard_Boolean First, Standard_Real& Pdeb, Standard_Real& Pfin) const;
117
118 Standard_EXPORT void SetParameters (const Standard_Boolean First, const Standard_Real Pdeb, const Standard_Real Pfin);
119
120 Standard_EXPORT Standard_Integer Curve (const Standard_Boolean First) const;
121
122 Standard_EXPORT void SetCurve (const Standard_Integer Index, const Standard_Boolean First);
123
124 Standard_EXPORT const Handle(Geom2d_Curve)& PCurve (const Standard_Boolean First) const;
125
126 Standard_EXPORT Handle(Geom2d_Curve)& ChangePCurve (const Standard_Boolean First);
127
128 Standard_EXPORT TopAbs_Orientation Orientation (const Standard_Integer OnS) const;
129
130 Standard_EXPORT void SetOrientation (const TopAbs_Orientation Or, const Standard_Integer OnS);
131
132 Standard_EXPORT TopAbs_Orientation Orientation (const Standard_Boolean First) const;
133
134 Standard_EXPORT void SetOrientation (const TopAbs_Orientation Or, const Standard_Boolean First);
135
136 Standard_EXPORT Standard_Integer IndexPoint (const Standard_Boolean First, const Standard_Integer OnS) const;
137
138 Standard_EXPORT void SetIndexPoint (const Standard_Integer Index, const Standard_Boolean First, const Standard_Integer OnS);
139
140 Standard_EXPORT Standard_Integer SolidIndex() const;
141
142 Standard_EXPORT void SetSolidIndex (const Standard_Integer Index);
143
144 //! Set nb of SurfData's at end put in DS
145 Standard_EXPORT void InDS (const Standard_Boolean First, const Standard_Integer Nb = 1);
146
147 //! Returns nb of SurfData's at end being in DS
148 Standard_EXPORT Standard_Integer IsInDS (const Standard_Boolean First) const;
149
150
151
152
92efcf78 153 DEFINE_STANDARD_RTTIEXT(ChFiDS_Stripe,MMgt_TShared)
42cf5bc1 154
155protected:
156
157
158
159
160private:
161
162
163 Standard_Real pardeb1;
164 Standard_Real parfin1;
165 Standard_Real pardeb2;
166 Standard_Real parfin2;
167 Handle(ChFiDS_Spine) mySpine;
168 Handle(ChFiDS_HData) myHdata;
169 Handle(Geom2d_Curve) pcrv1;
170 Handle(Geom2d_Curve) pcrv2;
171 Standard_Integer myChoix;
172 Standard_Integer indexOfSolid;
173 Standard_Integer indexOfcurve1;
174 Standard_Integer indexOfcurve2;
175 Standard_Integer indexfirstPOnS1;
176 Standard_Integer indexlastPOnS1;
177 Standard_Integer indexfirstPOnS2;
178 Standard_Integer indexlastPOnS2;
179 Standard_Integer begfilled;
180 Standard_Integer endfilled;
181 TopAbs_Orientation myOr1;
182 TopAbs_Orientation myOr2;
183 TopAbs_Orientation orcurv1;
184 TopAbs_Orientation orcurv2;
185
186
187};
188
189
190#include <ChFiDS_Stripe.lxx>
191
192
193
194
195
196#endif // _ChFiDS_Stripe_HeaderFile