G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
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
41typedef int PK_GEOM_t;
42typedef int PK_BSURF_t;
43typedef int PK_BCURVE_t;
44typedef int PK_BODY_t;
45typedef int PK_ASSEMBLY_t;
46struct PK_UVBOX_s;
47
48namespace gismo {
49
50namespace 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
Truncated hierarchical B-spline basis.
Definition gsTHBSplineBasis.h:36
Provides forward declarations of types and structs.
Manages starting and stopping Parasolid session.
Provides declaration of THBSplineBasis class.
bool gsWriteParasolid(const gsGeometry< T > &ggeo, std::string const &filename)
Definition gsWriteParasolid.hpp:178
bool gsWritePK_SHEET(const gsTensorBSpline< 2, T > &tp, const std::string &filename)
Converts tp into a PK_SHEET and writes it to filename.xmt_txt.
Definition gsWriteParasolid.hpp:284
bool createPK_GEOM(const gsGeometry< T > &ggeo, PK_GEOM_t &pgeo)
Definition gsWriteParasolid.hpp:326
The G+Smo namespace, containing all definitions for the library.