45 unsigned char nd,
unsigned char nf);
69 virtual bool refine(
const std::vector<double>& xi) = 0;
93 int nSegSpan)
const = 0;
Abstract interface for 1D spline patches.
Definition: ASM1D.h:31
virtual bool connectPatch(int vertex, ASM1D &neighbor, int nvertex, int thick=1)=0
Connects matching nodes on two adjacent vertices.
ASMbase * clone(unsigned char *nf=nullptr) const
Returns a copy of this patch with identical FE discretization.
Definition: ASM1D.C:56
virtual ~ASM1D()
Empty destructor.
Definition: ASM1D.h:38
virtual bool raiseOrder(int ru)=0
Raises the order of the spline object for this patch.
virtual int constrainNode(double xi, int dof, int code=0)=0
Constrains a node identified by two relative parameter values.
ASM1D()
The constructor is protected to allow objects of sub-classes only.
Definition: ASM1D.h:34
static ASMbase * create(ASM::Discretization type, unsigned char nd, unsigned char nf)
Creates a one-parametric patch of specified discretization type.
Definition: ASM1D.C:27
virtual bool getGridParameters(std::vector< double > &prm, int nSegSpan) const =0
Calculates parameter values for visualization nodal points.
static double getElementSize(const std::vector< Vec3 > &XC)
Returns characteristic element size based on end point coordinates.
Definition: ASM1D.C:70
virtual size_t constrainEndLocal(int dir, int dof, int code=0)=0
Constrains all DOFs in local directions at a given end point.
virtual bool refine(const std::vector< double > &xi)=0
Refines the parametrization by inserting extra knots.
virtual bool uniformRefine(int nInsert)=0
Refines the parametrization by inserting extra knots uniformly.
Base class for spline-based finite element (FE) assembly drivers.
Definition: ASMbase.h:70
Simple class for representing a point in 3D space.
Definition: Vec3.h:27
Discretization
Enum defining the available discretization methods.
Definition: ASMenums.h:22