Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-14 09:16:11

0001 // Copyright (c) Open CASCADE 2023
0002 //
0003 // This file is part of Open CASCADE Technology software library.
0004 //
0005 // This library is free software; you can redistribute it and/or modify it under
0006 // the terms of the GNU Lesser General Public License version 2.1 as published
0007 // by the Free Software Foundation, with special exception defined in the file
0008 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0009 // distribution for complete text of the license and disclaimer of any warranty.
0010 //
0011 // Alternatively, this file may be used under the terms of Open CASCADE
0012 // commercial license or contractual agreement.
0013 
0014 #ifndef _StepVisual_TriangulatedSurfaceSet_HeaderFile_
0015 #define _StepVisual_TriangulatedSurfaceSet_HeaderFile_
0016 
0017 #include <Standard.hxx>
0018 #include <StepVisual_TessellatedSurfaceSet.hxx>
0019 
0020 #include <Standard_Integer.hxx>
0021 #include <NCollection_Array1.hxx>
0022 #include <NCollection_HArray1.hxx>
0023 #include <NCollection_Array2.hxx>
0024 #include <NCollection_HArray2.hxx>
0025 
0026 //! Representation of STEP entity TriangulatedSurfaceSet
0027 class StepVisual_TriangulatedSurfaceSet : public StepVisual_TessellatedSurfaceSet
0028 {
0029 public:
0030   //! default constructor
0031   Standard_EXPORT StepVisual_TriangulatedSurfaceSet();
0032 
0033   //! Initialize all fields (own and inherited)
0034   Standard_EXPORT void Init(
0035     const occ::handle<TCollection_HAsciiString>&    theRepresentationItemName,
0036     const occ::handle<StepVisual_CoordinatesList>&  theTessellatedFaceCoordinates,
0037     const int                                       theTessellatedFacePnmax,
0038     const occ::handle<NCollection_HArray2<double>>& theTessellatedFaceNormals,
0039     const occ::handle<NCollection_HArray1<int>>&    thePnindex,
0040     const occ::handle<NCollection_HArray2<int>>&    theTriangles);
0041 
0042   //! Returns field Pnindex
0043   const occ::handle<NCollection_HArray1<int>> Pnindex() const { return myPnindex; }
0044 
0045   //! Sets field Pnindex
0046   void SetPnindex(const occ::handle<NCollection_HArray1<int>>& thePnindex)
0047   {
0048     myPnindex = thePnindex;
0049   }
0050 
0051   //! Returns number of Pnindex
0052   Standard_EXPORT int NbPnindex() const;
0053 
0054   //! Returns value of Pnindex by its num
0055   Standard_EXPORT int PnindexValue(const int theNum) const;
0056 
0057   //! Returns field Triangles
0058   const occ::handle<NCollection_HArray2<int>> Triangles() const { return myTriangles; }
0059 
0060   //! Sets field Triangles
0061   void SetTriangles(const occ::handle<NCollection_HArray2<int>>& theTriangles)
0062   {
0063     myTriangles = theTriangles;
0064   }
0065 
0066   //! Returns number of Triangles
0067   Standard_EXPORT int NbTriangles() const;
0068 
0069   DEFINE_STANDARD_RTTIEXT(StepVisual_TriangulatedSurfaceSet, StepVisual_TessellatedSurfaceSet)
0070 
0071 private:
0072   occ::handle<NCollection_HArray1<int>> myPnindex;
0073   occ::handle<NCollection_HArray2<int>> myTriangles;
0074 };
0075 
0076 #endif // _StepVisual_TriangulatedSurfaceSet_HeaderFile_