Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-07-18 08:39:25

0001 // Created on: 1994-11-17
0002 // Created by: Marie Jose MARTZ
0003 // Copyright (c) 1994-1999 Matra Datavision
0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0005 //
0006 // This file is part of Open CASCADE Technology software library.
0007 //
0008 // This library is free software; you can redistribute it and/or modify it under
0009 // the terms of the GNU Lesser General Public License version 2.1 as published
0010 // by the Free Software Foundation, with special exception defined in the file
0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0012 // distribution for complete text of the license and disclaimer of any warranty.
0013 //
0014 // Alternatively, this file may be used under the terms of Open CASCADE
0015 // commercial license or contractual agreement.
0016 
0017 #ifndef _GeomToIGES_GeomSurface_HeaderFile
0018 #define _GeomToIGES_GeomSurface_HeaderFile
0019 
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023 
0024 #include <GeomToIGES_GeomEntity.hxx>
0025 class IGESData_IGESEntity;
0026 class Geom_Surface;
0027 class Geom_BoundedSurface;
0028 class Geom_BSplineSurface;
0029 class Geom_BezierSurface;
0030 class Geom_RectangularTrimmedSurface;
0031 class Geom_ElementarySurface;
0032 class Geom_Plane;
0033 class Geom_CylindricalSurface;
0034 class Geom_ConicalSurface;
0035 class Geom_SphericalSurface;
0036 class Geom_ToroidalSurface;
0037 class Geom_SweptSurface;
0038 class Geom_SurfaceOfLinearExtrusion;
0039 class Geom_SurfaceOfRevolution;
0040 class Geom_OffsetSurface;
0041 
0042 //! This class implements the transfer of the Surface Entity from Geom
0043 //! To IGES. These can be :
0044 //! . BoundedSurface
0045 //! * BSplineSurface
0046 //! * BezierSurface
0047 //! * RectangularTrimmedSurface
0048 //! . ElementarySurface
0049 //! * Plane
0050 //! * CylindricalSurface
0051 //! * ConicalSurface
0052 //! * SphericalSurface
0053 //! * ToroidalSurface
0054 //! . SweptSurface
0055 //! * SurfaceOfLinearExtrusion
0056 //! * SurfaceOfRevolution
0057 //! . OffsetSurface
0058 class GeomToIGES_GeomSurface : public GeomToIGES_GeomEntity
0059 {
0060 public:
0061   DEFINE_STANDARD_ALLOC
0062 
0063   Standard_EXPORT GeomToIGES_GeomSurface();
0064 
0065   //! Creates a tool GeomSurface ready to run and sets its
0066   //! fields as GE's.
0067   Standard_EXPORT GeomToIGES_GeomSurface(const GeomToIGES_GeomEntity& GE);
0068 
0069   //! Transfert  a  GeometryEntity which  answer True  to  the
0070   //! member : BRepToIGES::IsGeomSurface(Geometry).  If this
0071   //! Entity could not be converted, this member returns a NullEntity.
0072   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(const Handle(Geom_Surface)& start,
0073                                                               const Standard_Real         Udeb,
0074                                                               const Standard_Real         Ufin,
0075                                                               const Standard_Real         Vdeb,
0076                                                               const Standard_Real         Vfin);
0077 
0078   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(
0079     const Handle(Geom_BoundedSurface)& start,
0080     const Standard_Real                Udeb,
0081     const Standard_Real                Ufin,
0082     const Standard_Real                Vdeb,
0083     const Standard_Real                Vfin);
0084 
0085   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(
0086     const Handle(Geom_BSplineSurface)& start,
0087     const Standard_Real                Udeb,
0088     const Standard_Real                Ufin,
0089     const Standard_Real                Vdeb,
0090     const Standard_Real                Vfin);
0091 
0092   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(
0093     const Handle(Geom_BezierSurface)& start,
0094     const Standard_Real               Udeb,
0095     const Standard_Real               Ufin,
0096     const Standard_Real               Vdeb,
0097     const Standard_Real               Vfin);
0098 
0099   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(
0100     const Handle(Geom_RectangularTrimmedSurface)& start,
0101     const Standard_Real                           Udeb,
0102     const Standard_Real                           Ufin,
0103     const Standard_Real                           Vdeb,
0104     const Standard_Real                           Vfin);
0105 
0106   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(
0107     const Handle(Geom_ElementarySurface)& start,
0108     const Standard_Real                   Udeb,
0109     const Standard_Real                   Ufin,
0110     const Standard_Real                   Vdeb,
0111     const Standard_Real                   Vfin);
0112 
0113   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(const Handle(Geom_Plane)& start,
0114                                                               const Standard_Real       Udeb,
0115                                                               const Standard_Real       Ufin,
0116                                                               const Standard_Real       Vdeb,
0117                                                               const Standard_Real       Vfin);
0118 
0119   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(
0120     const Handle(Geom_CylindricalSurface)& start,
0121     const Standard_Real                    Udeb,
0122     const Standard_Real                    Ufin,
0123     const Standard_Real                    Vdeb,
0124     const Standard_Real                    Vfin);
0125 
0126   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(
0127     const Handle(Geom_ConicalSurface)& start,
0128     const Standard_Real                Udeb,
0129     const Standard_Real                Ufin,
0130     const Standard_Real                Vdeb,
0131     const Standard_Real                Vfin);
0132 
0133   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(
0134     const Handle(Geom_SphericalSurface)& start,
0135     const Standard_Real                  Udeb,
0136     const Standard_Real                  Ufin,
0137     const Standard_Real                  Vdeb,
0138     const Standard_Real                  Vfin);
0139 
0140   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(
0141     const Handle(Geom_ToroidalSurface)& start,
0142     const Standard_Real                 Udeb,
0143     const Standard_Real                 Ufin,
0144     const Standard_Real                 Vdeb,
0145     const Standard_Real                 Vfin);
0146 
0147   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(
0148     const Handle(Geom_SweptSurface)& start,
0149     const Standard_Real              Udeb,
0150     const Standard_Real              Ufin,
0151     const Standard_Real              Vdeb,
0152     const Standard_Real              Vfin);
0153 
0154   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(
0155     const Handle(Geom_SurfaceOfLinearExtrusion)& start,
0156     const Standard_Real                          Udeb,
0157     const Standard_Real                          Ufin,
0158     const Standard_Real                          Vdeb,
0159     const Standard_Real                          Vfin);
0160 
0161   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(
0162     const Handle(Geom_SurfaceOfRevolution)& start,
0163     const Standard_Real                     Udeb,
0164     const Standard_Real                     Ufin,
0165     const Standard_Real                     Vdeb,
0166     const Standard_Real                     Vfin);
0167 
0168   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSurface(
0169     const Handle(Geom_OffsetSurface)& start,
0170     const Standard_Real               Udeb,
0171     const Standard_Real               Ufin,
0172     const Standard_Real               Vdeb,
0173     const Standard_Real               Vfin);
0174 
0175   Standard_EXPORT Handle(IGESData_IGESEntity) TransferPlaneSurface(const Handle(Geom_Plane)& start,
0176                                                                    const Standard_Real       Udeb,
0177                                                                    const Standard_Real       Ufin,
0178                                                                    const Standard_Real       Vdeb,
0179                                                                    const Standard_Real       Vfin);
0180 
0181   Standard_EXPORT Handle(IGESData_IGESEntity) TransferCylindricalSurface(
0182     const Handle(Geom_CylindricalSurface)& start,
0183     const Standard_Real                    Udeb,
0184     const Standard_Real                    Ufin,
0185     const Standard_Real                    Vdeb,
0186     const Standard_Real                    Vfin);
0187 
0188   Standard_EXPORT Handle(IGESData_IGESEntity) TransferConicalSurface(
0189     const Handle(Geom_ConicalSurface)& start,
0190     const Standard_Real                Udeb,
0191     const Standard_Real                Ufin,
0192     const Standard_Real                Vdeb,
0193     const Standard_Real                Vfin);
0194 
0195   Standard_EXPORT Handle(IGESData_IGESEntity) TransferSphericalSurface(
0196     const Handle(Geom_SphericalSurface)& start,
0197     const Standard_Real                  Udeb,
0198     const Standard_Real                  Ufin,
0199     const Standard_Real                  Vdeb,
0200     const Standard_Real                  Vfin);
0201 
0202   Standard_EXPORT Handle(IGESData_IGESEntity) TransferToroidalSurface(
0203     const Handle(Geom_ToroidalSurface)& start,
0204     const Standard_Real                 Udeb,
0205     const Standard_Real                 Ufin,
0206     const Standard_Real                 Vdeb,
0207     const Standard_Real                 Vfin);
0208 
0209   //! Returns the value of "TheLength"
0210   Standard_EXPORT Standard_Real Length() const;
0211 
0212   //! Returns Brep mode flag.
0213   Standard_EXPORT Standard_Boolean GetBRepMode() const;
0214 
0215   //! Sets BRep mode flag.
0216   Standard_EXPORT void SetBRepMode(const Standard_Boolean flag);
0217 
0218   //! Returns flag for writing elementary surfaces
0219   Standard_EXPORT Standard_Boolean GetAnalyticMode() const;
0220 
0221   //! Setst flag for writing elementary surfaces
0222   Standard_EXPORT void SetAnalyticMode(const Standard_Boolean flag);
0223 
0224 protected:
0225 private:
0226   Standard_Real    TheLength;
0227   Standard_Boolean myBRepMode;
0228   Standard_Boolean myAnalytic;
0229 };
0230 
0231 #endif // _GeomToIGES_GeomSurface_HeaderFile