// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _StepGeom_CartesianTransformationOperator_HeaderFile
#define _StepGeom_CartesianTransformationOperator_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_StepGeom_CartesianTransformationOperator.hxx>

#include <Handle_StepGeom_Direction.hxx>
#include <Handle_StepGeom_CartesianPoint.hxx>
#include <Standard_Real.hxx>
#include <Standard_Boolean.hxx>
#include <StepGeom_GeometricRepresentationItem.hxx>
#include <Handle_TCollection_HAsciiString.hxx>
class StepGeom_Direction;
class StepGeom_CartesianPoint;
class TCollection_HAsciiString;



class StepGeom_CartesianTransformationOperator : public StepGeom_GeometricRepresentationItem
{

public:

  
  //! Returns a CartesianTransformationOperator
  Standard_EXPORT StepGeom_CartesianTransformationOperator();
  
  Standard_EXPORT virtual   void Init (const Handle(TCollection_HAsciiString)& aName) ;
  
  Standard_EXPORT virtual   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) ;
  
  Standard_EXPORT   void SetAxis1 (const Handle(StepGeom_Direction)& aAxis1) ;
  
  Standard_EXPORT   void UnSetAxis1() ;
  
  Standard_EXPORT   Handle(StepGeom_Direction) Axis1()  const;
  
  Standard_EXPORT   Standard_Boolean HasAxis1()  const;
  
  Standard_EXPORT   void SetAxis2 (const Handle(StepGeom_Direction)& aAxis2) ;
  
  Standard_EXPORT   void UnSetAxis2() ;
  
  Standard_EXPORT   Handle(StepGeom_Direction) Axis2()  const;
  
  Standard_EXPORT   Standard_Boolean HasAxis2()  const;
  
  Standard_EXPORT   void SetLocalOrigin (const Handle(StepGeom_CartesianPoint)& aLocalOrigin) ;
  
  Standard_EXPORT   Handle(StepGeom_CartesianPoint) LocalOrigin()  const;
  
  Standard_EXPORT   void SetScale (const Standard_Real aScale) ;
  
  Standard_EXPORT   void UnSetScale() ;
  
  Standard_EXPORT   Standard_Real Scale()  const;
  
  Standard_EXPORT   Standard_Boolean HasScale()  const;




  DEFINE_STANDARD_RTTI(StepGeom_CartesianTransformationOperator)

protected:




private: 


  Handle(StepGeom_Direction) axis1;
  Handle(StepGeom_Direction) axis2;
  Handle(StepGeom_CartesianPoint) localOrigin;
  Standard_Real scale;
  Standard_Boolean hasAxis1;
  Standard_Boolean hasAxis2;
  Standard_Boolean hasScale;


};







#endif // _StepGeom_CartesianTransformationOperator_HeaderFile
