1 // Copyright (c) 1999-2014 OPEN CASCADE SAS
3 // This file is part of Open CASCADE Technology software library.
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.
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
15 #include <Standard_Type.hxx>
16 #include <StepGeom_CartesianPoint.hxx>
17 #include <StepVisual_PlanarBox.hxx>
18 #include <StepVisual_ViewVolume.hxx>
20 IMPLEMENT_STANDARD_RTTIEXT(StepVisual_ViewVolume,Standard_Transient)
22 StepVisual_ViewVolume::StepVisual_ViewVolume () {}
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)
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;
48 void StepVisual_ViewVolume::SetProjectionType(const StepVisual_CentralOrParallel aProjectionType)
50 projectionType = aProjectionType;
53 StepVisual_CentralOrParallel StepVisual_ViewVolume::ProjectionType() const
55 return projectionType;
58 void StepVisual_ViewVolume::SetProjectionPoint(const Handle(StepGeom_CartesianPoint)& aProjectionPoint)
60 projectionPoint = aProjectionPoint;
63 Handle(StepGeom_CartesianPoint) StepVisual_ViewVolume::ProjectionPoint() const
65 return projectionPoint;
68 void StepVisual_ViewVolume::SetViewPlaneDistance(const Standard_Real aViewPlaneDistance)
70 viewPlaneDistance = aViewPlaneDistance;
73 Standard_Real StepVisual_ViewVolume::ViewPlaneDistance() const
75 return viewPlaneDistance;
78 void StepVisual_ViewVolume::SetFrontPlaneDistance(const Standard_Real aFrontPlaneDistance)
80 frontPlaneDistance = aFrontPlaneDistance;
83 Standard_Real StepVisual_ViewVolume::FrontPlaneDistance() const
85 return frontPlaneDistance;
88 void StepVisual_ViewVolume::SetFrontPlaneClipping(const Standard_Boolean aFrontPlaneClipping)
90 frontPlaneClipping = aFrontPlaneClipping;
93 Standard_Boolean StepVisual_ViewVolume::FrontPlaneClipping() const
95 return frontPlaneClipping;
98 void StepVisual_ViewVolume::SetBackPlaneDistance(const Standard_Real aBackPlaneDistance)
100 backPlaneDistance = aBackPlaneDistance;
103 Standard_Real StepVisual_ViewVolume::BackPlaneDistance() const
105 return backPlaneDistance;
108 void StepVisual_ViewVolume::SetBackPlaneClipping(const Standard_Boolean aBackPlaneClipping)
110 backPlaneClipping = aBackPlaneClipping;
113 Standard_Boolean StepVisual_ViewVolume::BackPlaneClipping() const
115 return backPlaneClipping;
118 void StepVisual_ViewVolume::SetViewVolumeSidesClipping(const Standard_Boolean aViewVolumeSidesClipping)
120 viewVolumeSidesClipping = aViewVolumeSidesClipping;
123 Standard_Boolean StepVisual_ViewVolume::ViewVolumeSidesClipping() const
125 return viewVolumeSidesClipping;
128 void StepVisual_ViewVolume::SetViewWindow(const Handle(StepVisual_PlanarBox)& aViewWindow)
130 viewWindow = aViewWindow;
133 Handle(StepVisual_PlanarBox) StepVisual_ViewVolume::ViewWindow() const