0022048: Visualization, AIS_InteractiveContext - single object selection should alway...
[occt.git] / src / StepGeom / StepGeom_Axis2Placement3d.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_Axis2Placement3d.hxx>
17#include <StepGeom_CartesianPoint.hxx>
18#include <StepGeom_Direction.hxx>
19#include <TCollection_HAsciiString.hxx>
7fd59977 20
92efcf78 21IMPLEMENT_STANDARD_RTTIEXT(StepGeom_Axis2Placement3d,StepGeom_Placement)
22
7fd59977 23StepGeom_Axis2Placement3d::StepGeom_Axis2Placement3d () {}
24
7fd59977 25void StepGeom_Axis2Placement3d::Init(
26 const Handle(TCollection_HAsciiString)& aName,
27 const Handle(StepGeom_CartesianPoint)& aLocation,
28 const Standard_Boolean hasAaxis,
29 const Handle(StepGeom_Direction)& aAxis,
30 const Standard_Boolean hasArefDirection,
31 const Handle(StepGeom_Direction)& aRefDirection)
32{
33 // --- classe own fields ---
34 hasAxis = hasAaxis;
35 axis = aAxis;
36 hasRefDirection = hasArefDirection;
37 refDirection = aRefDirection;
38 // --- classe inherited fields ---
39 StepGeom_Placement::Init(aName, aLocation);
40}
41
42
43void StepGeom_Axis2Placement3d::SetAxis(const Handle(StepGeom_Direction)& aAxis)
44{
45 axis = aAxis;
46 hasAxis = Standard_True;
47}
48
49void StepGeom_Axis2Placement3d::UnSetAxis()
50{
51 hasAxis = Standard_False;
52 axis.Nullify();
53}
54
55Handle(StepGeom_Direction) StepGeom_Axis2Placement3d::Axis() const
56{
57 return axis;
58}
59
60Standard_Boolean StepGeom_Axis2Placement3d::HasAxis() const
61{
62 return hasAxis;
63}
64
65void StepGeom_Axis2Placement3d::SetRefDirection(const Handle(StepGeom_Direction)& aRefDirection)
66{
67 refDirection = aRefDirection;
68 hasRefDirection = Standard_True;
69}
70
71void StepGeom_Axis2Placement3d::UnSetRefDirection()
72{
73 hasRefDirection = Standard_False;
74 refDirection.Nullify();
75}
76
77Handle(StepGeom_Direction) StepGeom_Axis2Placement3d::RefDirection() const
78{
79 return refDirection;
80}
81
82Standard_Boolean StepGeom_Axis2Placement3d::HasRefDirection() const
83{
84 return hasRefDirection;
85}