Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/opencascade/BRep_CurveRepresentation.hxx was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // Created on: 1993-07-05
0002 // Created by: Remi LEQUETTE
0003 // Copyright (c) 1993-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 _BRep_CurveRepresentation_HeaderFile
0018 #define _BRep_CurveRepresentation_HeaderFile
0019 
0020 #include <Standard.hxx>
0021 
0022 #include <TopLoc_Location.hxx>
0023 #include <Standard_Transient.hxx>
0024 #include <GeomAbs_Shape.hxx>
0025 class Geom_Surface;
0026 class Poly_Triangulation;
0027 class Geom_Curve;
0028 class Geom2d_Curve;
0029 class Poly_Polygon3D;
0030 class Poly_Polygon2D;
0031 class Poly_PolygonOnTriangulation;
0032 
0033 //! Root class for the curve representations. Contains
0034 //! a location.
0035 class BRep_CurveRepresentation : public Standard_Transient
0036 {
0037 
0038 public:
0039   //! A 3D curve representation.
0040   Standard_EXPORT virtual bool IsCurve3D() const;
0041 
0042   //! A curve in the parametric space of a surface.
0043   Standard_EXPORT virtual bool IsCurveOnSurface() const;
0044 
0045   //! A continuity between two surfaces.
0046   Standard_EXPORT virtual bool IsRegularity() const;
0047 
0048   //! A curve with two parametric curves on the same
0049   //! surface.
0050   Standard_EXPORT virtual bool IsCurveOnClosedSurface() const;
0051 
0052   //! Is it a curve in the parametric space of <S> with
0053   //! location <L>.
0054   Standard_EXPORT virtual bool IsCurveOnSurface(const occ::handle<Geom_Surface>& S,
0055                                                 const TopLoc_Location&           L) const;
0056 
0057   //! Is it a regularity between <S1> and <S2> with
0058   //! location <L1> and <L2>.
0059   Standard_EXPORT virtual bool IsRegularity(const occ::handle<Geom_Surface>& S1,
0060                                             const occ::handle<Geom_Surface>& S2,
0061                                             const TopLoc_Location&           L1,
0062                                             const TopLoc_Location&           L2) const;
0063 
0064   //! A 3D polygon representation.
0065   Standard_EXPORT virtual bool IsPolygon3D() const;
0066 
0067   //! A representation by an array of nodes on a
0068   //! triangulation.
0069   Standard_EXPORT virtual bool IsPolygonOnTriangulation() const;
0070 
0071   //! Is it a polygon in the definition of <T> with
0072   //! location <L>.
0073   Standard_EXPORT virtual bool IsPolygonOnTriangulation(const occ::handle<Poly_Triangulation>& T,
0074                                                         const TopLoc_Location& L) const;
0075 
0076   //! A representation by two arrays of nodes on a
0077   //! triangulation.
0078   Standard_EXPORT virtual bool IsPolygonOnClosedTriangulation() const;
0079 
0080   //! A polygon in the parametric space of a surface.
0081   Standard_EXPORT virtual bool IsPolygonOnSurface() const;
0082 
0083   //! Is it a polygon in the parametric space of <S> with
0084   //! location <L>.
0085   Standard_EXPORT virtual bool IsPolygonOnSurface(const occ::handle<Geom_Surface>& S,
0086                                                   const TopLoc_Location&           L) const;
0087 
0088   //! Two 2D polygon representations in the parametric
0089   //! space of a surface.
0090   Standard_EXPORT virtual bool IsPolygonOnClosedSurface() const;
0091 
0092   const TopLoc_Location& Location() const;
0093 
0094   void Location(const TopLoc_Location& L);
0095 
0096   Standard_EXPORT virtual const occ::handle<Geom_Curve>& Curve3D() const;
0097 
0098   Standard_EXPORT virtual void Curve3D(const occ::handle<Geom_Curve>& C);
0099 
0100   Standard_EXPORT virtual const occ::handle<Geom_Surface>& Surface() const;
0101 
0102   Standard_EXPORT virtual const occ::handle<Geom2d_Curve>& PCurve() const;
0103 
0104   Standard_EXPORT virtual void PCurve(const occ::handle<Geom2d_Curve>& C);
0105 
0106   Standard_EXPORT virtual const occ::handle<Geom2d_Curve>& PCurve2() const;
0107 
0108   Standard_EXPORT virtual void PCurve2(const occ::handle<Geom2d_Curve>& C);
0109 
0110   Standard_EXPORT virtual const occ::handle<Poly_Polygon3D>& Polygon3D() const;
0111 
0112   Standard_EXPORT virtual void Polygon3D(const occ::handle<Poly_Polygon3D>& P);
0113 
0114   Standard_EXPORT virtual const occ::handle<Poly_Polygon2D>& Polygon() const;
0115 
0116   Standard_EXPORT virtual void Polygon(const occ::handle<Poly_Polygon2D>& P);
0117 
0118   Standard_EXPORT virtual const occ::handle<Poly_Polygon2D>& Polygon2() const;
0119 
0120   Standard_EXPORT virtual void Polygon2(const occ::handle<Poly_Polygon2D>& P);
0121 
0122   Standard_EXPORT virtual const occ::handle<Poly_Triangulation>& Triangulation() const;
0123 
0124   Standard_EXPORT virtual const occ::handle<Poly_PolygonOnTriangulation>& PolygonOnTriangulation()
0125     const;
0126 
0127   Standard_EXPORT virtual void PolygonOnTriangulation(
0128     const occ::handle<Poly_PolygonOnTriangulation>& P);
0129 
0130   Standard_EXPORT virtual const occ::handle<Poly_PolygonOnTriangulation>& PolygonOnTriangulation2()
0131     const;
0132 
0133   Standard_EXPORT virtual void PolygonOnTriangulation2(
0134     const occ::handle<Poly_PolygonOnTriangulation>& P2);
0135 
0136   Standard_EXPORT virtual const occ::handle<Geom_Surface>& Surface2() const;
0137 
0138   Standard_EXPORT virtual const TopLoc_Location& Location2() const;
0139 
0140   Standard_EXPORT virtual const GeomAbs_Shape& Continuity() const;
0141 
0142   Standard_EXPORT virtual void Continuity(const GeomAbs_Shape C);
0143 
0144   //! Return a copy of this representation.
0145   Standard_EXPORT virtual occ::handle<BRep_CurveRepresentation> Copy() const = 0;
0146 
0147   //! Dumps the content of me into the stream
0148   Standard_EXPORT virtual void DumpJson(Standard_OStream& theOStream, int theDepth = -1) const;
0149 
0150   DEFINE_STANDARD_RTTIEXT(BRep_CurveRepresentation, Standard_Transient)
0151 
0152 protected:
0153   Standard_EXPORT BRep_CurveRepresentation(const TopLoc_Location& L);
0154 
0155   TopLoc_Location myLocation;
0156 };
0157 
0158 #include <BRep_CurveRepresentation.lxx>
0159 
0160 #endif // _BRep_CurveRepresentation_HeaderFile