0031642: Visualization - crash in Graphic3d_Structure::SetVisual() on redisplaying...
[occt.git] / src / StepVisual / StepVisual_ViewVolume.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
15 #include <Standard_Type.hxx>
16 #include <StepGeom_CartesianPoint.hxx>
17 #include <StepVisual_PlanarBox.hxx>
18 #include <StepVisual_ViewVolume.hxx>
19
20 IMPLEMENT_STANDARD_RTTIEXT(StepVisual_ViewVolume,Standard_Transient)
21
22 StepVisual_ViewVolume::StepVisual_ViewVolume ()  {}
23
24 void StepVisual_ViewVolume::Init(
25         const StepVisual_CentralOrParallel aProjectionType,
26         const Handle(StepGeom_CartesianPoint)& aProjectionPoint,
27         const Standard_Real aViewPlaneDistance,
28         const Standard_Real aFrontPlaneDistance,
29         const Standard_Boolean aFrontPlaneClipping,
30         const Standard_Real aBackPlaneDistance,
31         const Standard_Boolean aBackPlaneClipping,
32         const Standard_Boolean aViewVolumeSidesClipping,
33         const Handle(StepVisual_PlanarBox)& aViewWindow)
34 {
35         // --- classe own fields ---
36         projectionType = aProjectionType;
37         projectionPoint = aProjectionPoint;
38         viewPlaneDistance = aViewPlaneDistance;
39         frontPlaneDistance = aFrontPlaneDistance;
40         frontPlaneClipping = aFrontPlaneClipping;
41         backPlaneDistance = aBackPlaneDistance;
42         backPlaneClipping = aBackPlaneClipping;
43         viewVolumeSidesClipping = aViewVolumeSidesClipping;
44         viewWindow = aViewWindow;
45 }
46
47
48 void StepVisual_ViewVolume::SetProjectionType(const StepVisual_CentralOrParallel aProjectionType)
49 {
50         projectionType = aProjectionType;
51 }
52
53 StepVisual_CentralOrParallel StepVisual_ViewVolume::ProjectionType() const
54 {
55         return projectionType;
56 }
57
58 void StepVisual_ViewVolume::SetProjectionPoint(const Handle(StepGeom_CartesianPoint)& aProjectionPoint)
59 {
60         projectionPoint = aProjectionPoint;
61 }
62
63 Handle(StepGeom_CartesianPoint) StepVisual_ViewVolume::ProjectionPoint() const
64 {
65         return projectionPoint;
66 }
67
68 void StepVisual_ViewVolume::SetViewPlaneDistance(const Standard_Real aViewPlaneDistance)
69 {
70         viewPlaneDistance = aViewPlaneDistance;
71 }
72
73 Standard_Real StepVisual_ViewVolume::ViewPlaneDistance() const
74 {
75         return viewPlaneDistance;
76 }
77
78 void StepVisual_ViewVolume::SetFrontPlaneDistance(const Standard_Real aFrontPlaneDistance)
79 {
80         frontPlaneDistance = aFrontPlaneDistance;
81 }
82
83 Standard_Real StepVisual_ViewVolume::FrontPlaneDistance() const
84 {
85         return frontPlaneDistance;
86 }
87
88 void StepVisual_ViewVolume::SetFrontPlaneClipping(const Standard_Boolean aFrontPlaneClipping)
89 {
90         frontPlaneClipping = aFrontPlaneClipping;
91 }
92
93 Standard_Boolean StepVisual_ViewVolume::FrontPlaneClipping() const
94 {
95         return frontPlaneClipping;
96 }
97
98 void StepVisual_ViewVolume::SetBackPlaneDistance(const Standard_Real aBackPlaneDistance)
99 {
100         backPlaneDistance = aBackPlaneDistance;
101 }
102
103 Standard_Real StepVisual_ViewVolume::BackPlaneDistance() const
104 {
105         return backPlaneDistance;
106 }
107
108 void StepVisual_ViewVolume::SetBackPlaneClipping(const Standard_Boolean aBackPlaneClipping)
109 {
110         backPlaneClipping = aBackPlaneClipping;
111 }
112
113 Standard_Boolean StepVisual_ViewVolume::BackPlaneClipping() const
114 {
115         return backPlaneClipping;
116 }
117
118 void StepVisual_ViewVolume::SetViewVolumeSidesClipping(const Standard_Boolean aViewVolumeSidesClipping)
119 {
120         viewVolumeSidesClipping = aViewVolumeSidesClipping;
121 }
122
123 Standard_Boolean StepVisual_ViewVolume::ViewVolumeSidesClipping() const
124 {
125         return viewVolumeSidesClipping;
126 }
127
128 void StepVisual_ViewVolume::SetViewWindow(const Handle(StepVisual_PlanarBox)& aViewWindow)
129 {
130         viewWindow = aViewWindow;
131 }
132
133 Handle(StepVisual_PlanarBox) StepVisual_ViewVolume::ViewWindow() const
134 {
135         return viewWindow;
136 }