0031642: Visualization - crash in Graphic3d_Structure::SetVisual() on redisplaying...
[occt.git] / src / StepGeom / StepGeom_TrimmedCurve.cxx
CommitLineData
973c2be1 1// Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 2//
973c2be1 3// This file is part of Open CASCADE Technology software library.
b311480e 4//
d5f74e42 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
973c2be1 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.
b311480e 10//
973c2be1 11// Alternatively, this file may be used under the terms of Open CASCADE
12// commercial license or contractual agreement.
b311480e 13
7fd59977 14
42cf5bc1 15#include <Standard_Type.hxx>
16#include <StepGeom_Curve.hxx>
17#include <StepGeom_TrimmedCurve.hxx>
18#include <StepGeom_TrimmingSelect.hxx>
19#include <TCollection_HAsciiString.hxx>
7fd59977 20
92efcf78 21IMPLEMENT_STANDARD_RTTIEXT(StepGeom_TrimmedCurve,StepGeom_BoundedCurve)
22
7fd59977 23StepGeom_TrimmedCurve::StepGeom_TrimmedCurve () {}
24
7fd59977 25void StepGeom_TrimmedCurve::Init(
26 const Handle(TCollection_HAsciiString)& aName,
27 const Handle(StepGeom_Curve)& aBasisCurve,
28 const Handle(StepGeom_HArray1OfTrimmingSelect)& aTrim1,
29 const Handle(StepGeom_HArray1OfTrimmingSelect)& aTrim2,
30 const Standard_Boolean aSenseAgreement,
31 const StepGeom_TrimmingPreference aMasterRepresentation)
32{
33 // --- classe own fields ---
34 basisCurve = aBasisCurve;
35 trim1 = aTrim1;
36 trim2 = aTrim2;
37 senseAgreement = aSenseAgreement;
38 masterRepresentation = aMasterRepresentation;
39 // --- classe inherited fields ---
40 StepRepr_RepresentationItem::Init(aName);
41}
42
43
44void StepGeom_TrimmedCurve::SetBasisCurve(const Handle(StepGeom_Curve)& aBasisCurve)
45{
46 basisCurve = aBasisCurve;
47}
48
49Handle(StepGeom_Curve) StepGeom_TrimmedCurve::BasisCurve() const
50{
51 return basisCurve;
52}
53
54void StepGeom_TrimmedCurve::SetTrim1(const Handle(StepGeom_HArray1OfTrimmingSelect)& aTrim1)
55{
56 trim1 = aTrim1;
57}
58
59Handle(StepGeom_HArray1OfTrimmingSelect) StepGeom_TrimmedCurve::Trim1() const
60{
61 return trim1;
62}
63
64StepGeom_TrimmingSelect StepGeom_TrimmedCurve::Trim1Value(const Standard_Integer num) const
65{
66 return trim1->Value(num);
67}
68
69Standard_Integer StepGeom_TrimmedCurve::NbTrim1 () const
70{
71 return trim1->Length();
72}
73
74void StepGeom_TrimmedCurve::SetTrim2(const Handle(StepGeom_HArray1OfTrimmingSelect)& aTrim2)
75{
76 trim2 = aTrim2;
77}
78
79Handle(StepGeom_HArray1OfTrimmingSelect) StepGeom_TrimmedCurve::Trim2() const
80{
81 return trim2;
82}
83
84StepGeom_TrimmingSelect StepGeom_TrimmedCurve::Trim2Value(const Standard_Integer num) const
85{
86 return trim2->Value(num);
87}
88
89Standard_Integer StepGeom_TrimmedCurve::NbTrim2 () const
90{
91 return trim2->Length();
92}
93
94void StepGeom_TrimmedCurve::SetSenseAgreement(const Standard_Boolean aSenseAgreement)
95{
96 senseAgreement = aSenseAgreement;
97}
98
99Standard_Boolean StepGeom_TrimmedCurve::SenseAgreement() const
100{
101 return senseAgreement;
102}
103
104void StepGeom_TrimmedCurve::SetMasterRepresentation(const StepGeom_TrimmingPreference aMasterRepresentation)
105{
106 masterRepresentation = aMasterRepresentation;
107}
108
109StepGeom_TrimmingPreference StepGeom_TrimmedCurve::MasterRepresentation() const
110{
111 return masterRepresentation;
112}