1 // Created on: 1995-12-01 2 // Created by: EXPRESS->CDL V0.2 Translator 3 // Copyright (c) 1995-1999 Matra Datavision 4 // Copyright (c) 1999-2014 OPEN CASCADE SAS 5 // 6 // This file is part of Open CASCADE Technology software library. 7 // 8 // This library is free software; you can redistribute it and/or modify it under 9 // the terms of the GNU Lesser General Public License version 2.1 as published 10 // by the Free Software Foundation, with special exception defined in the file 11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 12 // distribution for complete text of the license and disclaimer of any warranty. 13 // 14 // Alternatively, this file may be used under the terms of Open CASCADE 15 // commercial license or contractual agreement. 16 17 #ifndef _StepGeom_CartesianTransformationOperator_HeaderFile 18 #define _StepGeom_CartesianTransformationOperator_HeaderFile 19 20 #include <Standard.hxx> 21 #include <Standard_Type.hxx> 22 23 #include <Standard_Real.hxx> 24 #include <Standard_Boolean.hxx> 25 #include <StepGeom_GeometricRepresentationItem.hxx> 26 class StepGeom_Direction; 27 class StepGeom_CartesianPoint; 28 class TCollection_HAsciiString; 29 30 31 class StepGeom_CartesianTransformationOperator; 32 DEFINE_STANDARD_HANDLE(StepGeom_CartesianTransformationOperator, StepGeom_GeometricRepresentationItem) 33 34 35 class StepGeom_CartesianTransformationOperator : public StepGeom_GeometricRepresentationItem 36 { 37 38 public: 39 40 41 //! Returns a CartesianTransformationOperator 42 Standard_EXPORT StepGeom_CartesianTransformationOperator(); 43 44 Standard_EXPORT void Init (const Handle(TCollection_HAsciiString)& aName, const Standard_Boolean hasAaxis1, const Handle(StepGeom_Direction)& aAxis1, const Standard_Boolean hasAaxis2, const Handle(StepGeom_Direction)& aAxis2, const Handle(StepGeom_CartesianPoint)& aLocalOrigin, const Standard_Boolean hasAscale, const Standard_Real aScale); 45 46 Standard_EXPORT void SetAxis1 (const Handle(StepGeom_Direction)& aAxis1); 47 48 Standard_EXPORT void UnSetAxis1(); 49 50 Standard_EXPORT Handle(StepGeom_Direction) Axis1() const; 51 52 Standard_EXPORT Standard_Boolean HasAxis1() const; 53 54 Standard_EXPORT void SetAxis2 (const Handle(StepGeom_Direction)& aAxis2); 55 56 Standard_EXPORT void UnSetAxis2(); 57 58 Standard_EXPORT Handle(StepGeom_Direction) Axis2() const; 59 60 Standard_EXPORT Standard_Boolean HasAxis2() const; 61 62 Standard_EXPORT void SetLocalOrigin (const Handle(StepGeom_CartesianPoint)& aLocalOrigin); 63 64 Standard_EXPORT Handle(StepGeom_CartesianPoint) LocalOrigin() const; 65 66 Standard_EXPORT void SetScale (const Standard_Real aScale); 67 68 Standard_EXPORT void UnSetScale(); 69 70 Standard_EXPORT Standard_Real Scale() const; 71 72 Standard_EXPORT Standard_Boolean HasScale() const; 73 74 75 76 77 DEFINE_STANDARD_RTTIEXT(StepGeom_CartesianTransformationOperator,StepGeom_GeometricRepresentationItem) 78 79 protected: 80 81 82 83 84 private: 85 86 87 Handle(StepGeom_Direction) axis1; 88 Handle(StepGeom_Direction) axis2; 89 Handle(StepGeom_CartesianPoint) localOrigin; 90 Standard_Real scale; 91 Standard_Boolean hasAxis1; 92 Standard_Boolean hasAxis2; 93 Standard_Boolean hasScale; 94 95 96 }; 97 98 99 100 101 102 103 104 #endif // _StepGeom_CartesianTransformationOperator_HeaderFile 105