// Created on: 1993-06-11 // Created by: Martine LANGLOIS // Copyright (c) 1993-1999 Matra Datavision // Copyright (c) 1999-2014 OPEN CASCADE SAS // // This file is part of Open CASCADE Technology software library. // // This library is free software; you can redistribute it and/or modify it under // the terms of the GNU Lesser General Public License version 2.1 as published // by the Free Software Foundation, with special exception defined in the file // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT // distribution for complete text of the license and disclaimer of any warranty. // // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. #ifndef _StepToGeom_HeaderFile #define _StepToGeom_HeaderFile #include "Standard.hxx" #include "Standard_DefineAlloc.hxx" #include "Standard_Handle.hxx" #include "StepData_Factors.hxx" class Geom_Axis1Placement; class Geom_Axis2Placement; class Geom_BoundedCurve; class Geom_BoundedSurface; class Geom_BSplineCurve; class Geom_BSplineSurface; class Geom_CartesianPoint; class Geom_Circle; class Geom_Conic; class Geom_ConicalSurface; class Geom_Curve; class Geom_CylindricalSurface; class Geom_Direction; class Geom_ElementarySurface; class Geom_Ellipse; class Geom_Hyperbola; class Geom_Line; class Geom_Parabola; class Geom_Plane; class Geom_RectangularTrimmedSurface; class Geom_SphericalSurface; class Geom_Surface; class Geom_SurfaceOfLinearExtrusion; class Geom_SurfaceOfRevolution; class Geom_SweptSurface; class Geom_ToroidalSurface; class Geom_TrimmedCurve; class Geom_VectorWithMagnitude; class Geom2d_AxisPlacement; class Geom2d_BoundedCurve; class Geom2d_BSplineCurve; class Geom2d_CartesianPoint; class Geom2d_Circle; class Geom2d_Conic; class Geom2d_Curve; class Geom2d_Direction; class Geom2d_Ellipse; class Geom2d_Hyperbola; class Geom2d_Line; class Geom2d_Parabola; class Geom2d_VectorWithMagnitude; class gp_Trsf; class gp_Trsf2d; class StepGeom_Axis1Placement; class StepGeom_Axis2Placement2d; class StepGeom_Axis2Placement3d; class StepGeom_BoundedCurve; class StepGeom_BoundedSurface; class StepGeom_BSplineCurve; class StepGeom_CartesianPoint; class StepGeom_Direction; class StepGeom_BSplineSurface; class StepGeom_Circle; class StepGeom_Conic; class StepGeom_ConicalSurface; class StepGeom_Curve; class StepGeom_CylindricalSurface; class StepGeom_ElementarySurface; class StepGeom_Ellipse; class StepGeom_Hyperbola; class StepGeom_Line; class StepGeom_Parabola; class StepGeom_Plane; class StepGeom_Polyline; class StepGeom_RectangularTrimmedSurface; class StepGeom_SphericalSurface; class StepGeom_Surface; class StepGeom_SurfaceOfLinearExtrusion; class StepGeom_SurfaceOfRevolution; class StepGeom_SweptSurface; class StepGeom_ToroidalSurface; class StepGeom_CartesianTransformationOperator2d; class StepGeom_CartesianTransformationOperator3d; class StepGeom_TrimmedCurve; class StepGeom_Vector; class StepGeom_SuParameters; class StepKinematics_SpatialRotation; class StepRepr_GlobalUnitAssignedContext; #include "NCollection_Array1.hxx" #include "NCollection_HArray1.hxx" //! This class provides static methods to convert STEP geometric entities to OCCT. //! The methods returning handles will return null handle in case of error. //! The methods returning boolean will return True if succeeded and False if error. class StepToGeom { public: Standard_EXPORT static occ::handle MakeAxis1Placement( const occ::handle& SA, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeAxis2Placement( const occ::handle& SA, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeAxis2Placement( const occ::handle& SP); Standard_EXPORT static occ::handle MakeAxisPlacement( const occ::handle& SA, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeBoundedCurve( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeBoundedCurve2d( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeBoundedSurface( const occ::handle& SS, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeBSplineCurve( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeBSplineCurve2d( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeBSplineSurface( const occ::handle& SS, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeCartesianPoint( const occ::handle& SP, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeCartesianPoint2d( const occ::handle& SP, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeCircle( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeCircle2d( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeConic( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeConic2d( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeConicalSurface( const occ::handle& SS, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeCurve( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeCurve2d( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeCylindricalSurface( const occ::handle& SS, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeDirection( const occ::handle& SD); Standard_EXPORT static occ::handle MakeDirection2d( const occ::handle& SD); Standard_EXPORT static occ::handle MakeElementarySurface( const occ::handle& SS, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeEllipse( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeEllipse2d( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeHyperbola( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeHyperbola2d( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeLine( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeLine2d( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeParabola( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeParabola2d( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakePlane( const occ::handle& SP, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakePolyline( const occ::handle& SPL, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakePolyline2d( const occ::handle& SPL, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeRectangularTrimmedSurface( const occ::handle& SS, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeSphericalSurface( const occ::handle& SS, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeSurface( const occ::handle& SS, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeSurfaceOfLinearExtrusion( const occ::handle& SS, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeSurfaceOfRevolution( const occ::handle& SS, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeSweptSurface( const occ::handle& SS, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeToroidalSurface( const occ::handle& SS, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static bool MakeTransformation2d( const occ::handle& SCTO, gp_Trsf2d& CT, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static bool MakeTransformation3d( const occ::handle& SCTO, gp_Trsf& CT, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeTrimmedCurve( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeTrimmedCurve2d( const occ::handle& SC, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeVectorWithMagnitude( const occ::handle& SV, const StepData_Factors& theLocalFactors = StepData_Factors()); Standard_EXPORT static occ::handle MakeVectorWithMagnitude2d( const occ::handle& SV); Standard_EXPORT static occ::handle> MakeYprRotation( const StepKinematics_SpatialRotation& SR, const occ::handle& theCntxt); }; #endif // _StepToGeom_HeaderFile