38 typedef memory::unique_ptr<gsGeometry<T> > GeometryPtr;
50 static TensorBSpline2Ptr rotate2D(
gsTensorBSpline<2,T> const & geo,
const T turndeg = 0,
const T Tx = 0,
const T Ty = 0);
52 static void rotate2D(
gsGeometry<T> & geo,
const T turndeg = 0,
const T Tx = 0,
const T Ty = 0);
54 static TensorBSpline2Ptr shift2D(
gsTensorBSpline<2,T> const & geo,
const T dx = 0,
const T dy = 0,
const T dz = 0);
56 static void shift2D(
gsGeometry<T> & geo,
const T dx = 0,
const T dy = 0,
const T dz = 0);
58 static void shift2D(
gsMultiPatch<T> & mp,
const T dx = 0,
const T dy = 0,
const T dz = 0);
72 static void scale2D(
gsGeometry<T> & geo, std::vector<T> factors);
105 static BSplinePtr BSplineUnitInterval(
short_t deg);
111 T
const & upp_y = 1, T
const & turndeg = 0);
117 T
const & Ltop = 0.5,
119 T
const & d = 0, T
const & turndeg = 0);
123 T
const & Bx, T
const & By,
124 T
const & Cx, T
const & Cy,
125 T
const & Dx, T
const & Dy, T
const & turndeg = 0);
129 T
const & Ltop = 0.5,
131 T
const & d = 0, T
const & turndeg = 0);
135 T
const & Bx, T
const & By,
136 T
const & Cx, T
const & Cy,
137 T
const & Dx, T
const & Dy, T
const & turndeg = 0);
140 static TensorBSpline2Ptr BSplineRectangleWithPara( T low_x = 0, T low_y = 0, T upp_x = 1, T upp_y = 1);
156 T
const & lx = 0, T
const & ly = 0);
158 static TensorBSpline2Ptr BSplineSquare(
gsMatrix<T> const & Box);
166 static TensorBSpline2Ptr BSplineSquare( T
const & r = 1, T
const & x = 0, T
const & y = 0 );
169 static TensorBSpline3Ptr
BSplineCube( T
const & r = 1, T
const & x = 0,
170 T
const & y = 0, T
const & z = 0 );
177 static gsMultiPatch<T> BSplineCubeGrid(
int n,
int m,
int p, T
const & r = 1,
178 T
const & lx = 0, T
const & ly = 0, T
const & lz = 0);
180 static TensorBSpline3Ptr BSplineHalfCube( T
const & r = 1, T
const & x = 0,
181 T
const & y = 0, T
const & z = 0 );
184 static TensorNurbs3Ptr
NurbsCube( T
const & r = 1, T
const & x = 0,
185 T
const & y = 0, T
const & z = 0 );
190 static TensorNurbs2Ptr
NurbsAnnulus( T
const & r0 =1, T
const & r1 =2);
192 static TensorNurbs3Ptr BSplineSaddle();
205 static TensorNurbs2Ptr
NurbsSphere( T
const & r = 1, T
const & x = 0, T
const & y = 0, T
const & z = 0);
207 static NurbsPtr
NurbsCircle( T
const & r = (T)(1), T
const & x = 0, T
const & y = 0);
209 static BSplinePtr
BSplineFatCircle( T
const & r = (T)(1), T
const & x = 0, T
const & y = 0);
211 static TensorBSpline2Ptr
BSplineFatDisk (T
const & r = 1, T
const & x = 0, T
const & y = 0);
213 static NurbsPtr NurbsCurve1 (T
const & r = 1, T
const & x = 0, T
const & y = 0);
215 static NurbsPtr NurbsCurve2 (T
const & r = 1, T
const & x = 0, T
const & y = 0);
217 static NurbsPtr NurbsBean(T
const & r = 1, T
const & x = 0, T
const & y = 0);
219 static BSplinePtr BSplineE (T
const & r = 1, T
const & x = 0, T
const & y = 0);
221 static NurbsPtr NurbsAmoebaFull(T
const & r = 1, T
const & x = 0, T
const & y = 0);
225 static BSplinePtr BSplineSegment(T
const u0 = 0, T
const u1 = 1);
242 static BSplinePtr BSplineAmoeba(T
const & r=1, T
const & x=0, T
const & y = 0);
244 static BSplinePtr BSplineAmoebaBig(T
const & r=1, T
const & x=0, T
const & y = 0);
246 static BSplinePtr BSplineAustria(T
const & r=1, T
const & x=0, T
const & y = 0);
248 static BSplinePtr BSplineFish(T
const & r=1, T
const & x=0, T
const & y = 0);
250 static BSplinePtr BSplineAmoeba3degree(T
const & r=1, T
const & x=0, T
const & y = 0);
252 static TensorNurbs2Ptr NurbsDisk(T
const & r=1, T
const & x=0, T
const & y = 0);
254 static TensorBSpline2Ptr NurbsQrtPlateWHoleC0();
257 static TensorBSpline2Ptr
BSplineTriangle(T
const & H = 1, T
const & W = 1);
264 #ifdef GISMO_WITH_PYBIND11
269 void pybind11_init_gsNurbsCreator(pybind11::module &m);
275 #ifndef GISMO_BUILD_LIB
276 #include GISMO_HPP_HEADER(gsNurbsCreator.hpp)
Class gsNurbsCreator provides some simple examples of Nurbs Geometries.
Definition: gsNurbsCreator.h:36
Abstract base class representing a geometry map.
Definition: gsGeometry.h:92
static TensorNurbs2Ptr NurbsAnnulus(T const &r0=1, T const &r1=2)
Exact full annulus using NURBS with inner radius r0 and outer radius r1.
Definition: gsNurbsCreator.hpp:851
static TensorNurbs3Ptr NurbsCube(T const &r=1, T const &x=0, T const &y=0, T const &z=0)
Cube of side r, with lower left corner at (x,y,z) using NURBS.
Definition: gsNurbsCreator.hpp:814
static TensorNurbs2Ptr NurbsQuarterAnnulus(T const &r0=1, T const &r1=2)
Exact annulus using NURBS with inner radius r0 and outer radius r1.
Definition: gsNurbsCreator.hpp:832
static gsMultiPatch< T > BSplineStar(index_t const &N=3, T const &R0=1, T const &R1=0.5)
Makes a star with N patches, outer radius R0 and inner radius R1.
Definition: gsNurbsCreator.hpp:1650
static TensorBSpline2Ptr BSplineFatDisk(T const &r=1, T const &x=0, T const &y=0)
Inexact disk using B-splines.
Definition: gsNurbsCreator.hpp:1056
memory::unique_ptr< gsTensorBSpline > uPtr
Unique pointer for gsTensorBSpline.
Definition: gsTensorBSpline.h:62
#define short_t
Definition: gsConfig.h:35
A tensor product of d B-spline functions, with arbitrary target dimension.
Definition: gsTensorBSpline.h:44
A tensor product Non-Uniform Rational B-spline function (NURBS) of parametric dimension d...
Definition: gsTensorNurbs.h:40
memory::unique_ptr< gsTensorNurbs > uPtr
Unique pointer for gsTensorNurbs.
Definition: gsTensorNurbs.h:69
static TensorBSpline2Ptr BSplineLShape_p1(T r=(T)(1))
L-Shaped domain represented as a tensor B-spline of degree 1.
Definition: gsNurbsCreator.hpp:1262
memory::unique_ptr< gsBSpline > uPtr
Unique pointer for gsBSpline.
Definition: gsBSpline.h:63
static gsMultiPatch< T > BSplineSquareGrid(int n, int m, T const &r=1, T const &lx=0, T const &ly=0)
Definition: gsNurbsCreator.hpp:691
#define index_t
Definition: gsConfig.h:32
static BSplinePtr BSplineFatCircle(T const &r=(T)(1), T const &x=0, T const &y=0)
Inexact circle using B-splines.
Definition: gsNurbsCreator.hpp:1034
static TensorBSpline2Ptr BSplineRectangle(T const &low_x=0, T const &low_y=0, T const &upp_x=1, T const &upp_y=1, T const &turndeg=0)
2d-rectange [low_x,upp_x] x [low_y,upp_y], rotated by turndeg degrees.
Definition: gsNurbsCreator.hpp:449
static TensorBSpline3Ptr BSplineCube(T const &r=1, T const &x=0, T const &y=0, T const &z=0)
Cube of side r, with lower left corner at (x,y,z)
Definition: gsNurbsCreator.hpp:731
static GeometryPtr BSplineQuarterAnnulus(const short_t °=2)
Inexact annulus using B-splines.
Definition: gsNurbsCreator.hpp:888
Provides forward declarations of types and structs.
static TensorBSpline2Ptr BSplineFatQuarterAnnulus(T const &r0=1, T const &r1=2)
Definition: gsNurbsCreator.hpp:949
static NurbsPtr NurbsCircle(T const &r=(T)(1), T const &x=0, T const &y=0)
Circle using NURBS.
Definition: gsNurbsCreator.hpp:1009
static gsMultiPatch< T > BSplineLShapeMultiPatch_p2()
Definition: gsNurbsCreator.hpp:1357
Container class for a set of geometry patches and their topology, that is, the interface connections ...
Definition: gsMultiPatch.h:33
static TensorBSpline2Ptr BSplineSquareDeg(short_t deg, T scale=(T)(1))
The unit square represented as a tensor B-spline of degree deg.
Definition: gsNurbsCreator.hpp:721
static TensorNurbs2Ptr NurbsArcTrapezium(T const &Lbot=1, T const &Ltop=0.5, T const &H=1, T const &d=0, T const &turndeg=0)
2d-trapezium
Definition: gsNurbsCreator.hpp:640
static TensorBSpline2Ptr BSplineTriangle(T const &H=1, T const &W=1)
Makes a Isosceles triangle with height H and width W.
Definition: gsNurbsCreator.hpp:1636
static TensorBSpline2Ptr BSplineLShape_p2C1()
Definition: gsNurbsCreator.hpp:1319
static TensorNurbs2Ptr NurbsSphere(T const &r=1, T const &x=0, T const &y=0, T const &z=0)
Sphere using NURBS.
Definition: gsNurbsCreator.hpp:970
static TensorBSpline2Ptr BSplineTrapezium(T const &Lbot=1, T const &Ltop=0.5, T const &H=1, T const &d=0, T const &turndeg=0)
Rectangle described by the identity mapping over the given parameter domain, using tensor product B-s...
Definition: gsNurbsCreator.hpp:539
static TensorBSpline2Ptr BSplineLShape_p2C0()
Definition: gsNurbsCreator.hpp:1287
memory::unique_ptr< gsNurbs > uPtr
Unique pointer for gsNurbs.
Definition: gsNurbs.h:57