0023948: Wrong intersection between a surface of revolution and a plane.
[occt.git] / src / StepGeom / StepGeom_RectangularCompositeSurface.cxx
1 // Copyright (c) 1999-2014 OPEN CASCADE SAS
2 //
3 // This file is part of Open CASCADE Technology software library.
4 //
5 // This library is free software; you can redistribute it and/or modify it under
6 // the terms of the GNU Lesser General Public License version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
10 //
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
13
14 #include <StepGeom_RectangularCompositeSurface.ixx>
15
16
17 StepGeom_RectangularCompositeSurface::StepGeom_RectangularCompositeSurface ()  {}
18
19 void StepGeom_RectangularCompositeSurface::Init(
20         const Handle(TCollection_HAsciiString)& aName)
21 {
22
23         StepRepr_RepresentationItem::Init(aName);
24 }
25
26 void StepGeom_RectangularCompositeSurface::Init(
27         const Handle(TCollection_HAsciiString)& aName,
28         const Handle(StepGeom_HArray2OfSurfacePatch)& aSegments)
29 {
30         // --- classe own fields ---
31         segments = aSegments;
32         // --- classe inherited fields ---
33         StepRepr_RepresentationItem::Init(aName);
34 }
35
36
37 void StepGeom_RectangularCompositeSurface::SetSegments(const Handle(StepGeom_HArray2OfSurfacePatch)& aSegments)
38 {
39         segments = aSegments;
40 }
41
42 Handle(StepGeom_HArray2OfSurfacePatch) StepGeom_RectangularCompositeSurface::Segments() const
43 {
44         return segments;
45 }
46
47 Handle(StepGeom_SurfacePatch) StepGeom_RectangularCompositeSurface::SegmentsValue(const Standard_Integer num1,const Standard_Integer num2) const
48 {
49         return segments->Value(num1,num2);
50 }
51
52 Standard_Integer StepGeom_RectangularCompositeSurface::NbSegmentsI () const
53 {
54         if (segments.IsNull()) return 0;
55         return segments->UpperRow() - segments->LowerRow() + 1;
56 }
57
58 Standard_Integer StepGeom_RectangularCompositeSurface::NbSegmentsJ () const
59 {
60         if (segments.IsNull()) return 0;
61         return segments->UpperCol() - segments->LowerCol() + 1;
62 }