G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsWriteParasolid.h
Go to the documentation of this file.
1 
14 /*
15  (BSURF_sf
16  :u_degree
17  :v_degree
18  :n_u_vertices
19  :n_v_vertices
20  :vertex_dim
21  :is_rational nil
22  :vertex (vertex-sf cp0)
23  :n_u_knots
24  :u_knot
25  :u_knot_mult
26  :n_v_knots
27  :v_knot
28  :v_knot_mult
29 */
30 
31 
32 #pragma once
33 
34 #include <string>
35 
38 
40 
41 typedef int PK_GEOM_t;
42 typedef int PK_BSURF_t;
43 typedef int PK_BCURVE_t;
44 typedef int PK_BODY_t;
45 typedef int PK_ASSEMBLY_t;
46 struct PK_UVBOX_s;
47 
48 namespace gismo {
49 
50 namespace extensions {
51 
52  template<class T>
53  class gsTrimData;
54 
58  template<class T>
59  bool gsWriteParasolid( const gsGeometry<T> & ggeo, std::string const & filename );
60 
61  template<class T>
62  bool gsWriteParasolid( const gsMultiPatch<T> & gssurfs, std::string const & filename );
63 
64  template<class T>
65  bool gsWriteParasolid( const gsMesh<T>& mesh, std::string const & filename );
66 
67  template<class T>
68  bool gsWriteParasolid( const gsTHBSpline<2, T>& thb, std::string const & filename );
69 
70  template<class T>
71  bool gsWriteParasolid( const gsTHBSpline<2, T>& thb, const std::vector<T>&par_boxes, std::string const & filename );
72 
74  template<class T>
75  bool gsWritePK_SHEET(const gsTensorBSpline<2, T>& tp, const std::string& filename);
76 
77 
81  template<class T>
82  bool createPK_BSURF( const gsTensorBSpline< 2,T> & bsp, PK_BSURF_t & bsurf,
83  bool closed_u = false, bool closed_v = false );
84 
88  template<class T>
89  bool createPK_BCURVE( const gsBSpline<T>& curve, PK_BCURVE_t& bcurve );
90 
94  template<class T>
95  bool createPK_GEOM( const gsGeometry<T> & ggeo, PK_GEOM_t & pgeo );
96 
100  template<class T>
101  bool exportMesh( const gsMesh<T>& mesh, PK_BODY_t& body );
102 
106  template<class T>
107  bool exportTHBsurface( const gsTHBSpline<2, T>& surface, PK_ASSEMBLY_t& body );
108 
113  template<class T>
114  bool exportTHBsurface( const gsTHBSpline<2, T>& surface, const std::vector<T>& par_boxes, PK_ASSEMBLY_t& body );
115 
116  template <class T>
117  bool getTrimCurvesAndBoundingBoxes(const gsTHBSpline<2, T>& surface,
118  const std::vector<T>& par_boxes,
119  std::vector<gsTrimData<T> >& trimdata);
120 
127  template <class T>
128  bool getParBoxAsIndexBoxInLevel(const gsTHBSplineBasis<2, T>& basis,unsigned lvl,
129  const std::vector<real_t>& par_box,std::vector<unsigned>& index_box);
130 
133  template <class T>
134  bool parBoxesIntersect(const std::vector<T>& par_boxes);
135 
136 
137 }//extensions
138 
139 }//gismo
140 
Manages starting and stopping Parasolid session.
Provides declaration of THBSplineBasis class.
Provides forward declarations of types and structs.