SCOREC core
Parallel unstructured mesh tools
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Namespaces | Functions
crvBezier.h File Reference

main file for support of bezier shape functions More...

Go to the source code of this file.

Namespaces

 crv
 the curving functions are contained in this namespace
 

Functions

double crv::Bij (const int i, const int j, const double u, const double v)
 polynomial part of bernstein polynomial, Bij, Bijk, Bijkl
 
double crv::Bij (const int ij[], const double xi[])
 a different form of Bij, Bijk, Bijkl
 
int crv::computeTriNodeIndex (int P, int i, int j)
 computes node index, use getTriNodeIndex to leverage tables
 
int crv::computeTetNodeIndex (int P, int i, int j, int k)
 computes node index, use getTetNodeIndex to leverage tables
 
int crv::getNumControlPoints (int type, int order)
 calculates total number of control points, use tables for smaller numbers, this is for quality More...
 
int crv::getNumInternalControlPoints (int type, int order)
 calculates number of internal control points, use tables for smaller numbers, this is for quality More...
 
void crv::getTriNodesFromTetNodes (int f, int P, apf::NewArray< apf::Vector3 > &tetNodes, apf::NewArray< apf::Vector3 > &triNodes)
 computes nodes of face f from tet More...
 
void crv::getTriDetJacNodesFromTetDetJacNodes (int f, int P, apf::NewArray< double > &tetNodes, apf::NewArray< double > &triNodes)
 computes det(Jacobian) nodes of face f from tet
 
void crv::getFullRepFromBlended (int type, apf::NewArray< double > &transformCoefficients, apf::NewArray< apf::Vector3 > &elemNodes)
 gets full set of bezier control points given blended points More...
 
double crv::computeTriJacobianDetFromBezierFormulation (apf::Mesh *m, apf::MeshEntity *e, apf::Vector3 &xi)
 computes det(Jacobian) for tri from the Bezier conversion More...
 
double crv::computeTetJacobianDetFromBezierFormulation (apf::Mesh *m, apf::MeshEntity *e, apf::Vector3 &xi)
 computes det(Jacobian) for tri from the Bezier conversion More...
 
void crv::getBezierNodeXi (int type, int P, int node, apf::Vector3 &xi)
 get one bezier node location in parameter space
 
void crv::collectNodeXi (int parentType, int childType, int P, const apf::Vector3 *range, apf::NewArray< apf::Vector3 > &xi)
 get all bezier node locations in parameter space
 
void crv::elevateBezierEdge (int P, int r, apf::NewArray< apf::Vector3 > &nodes, apf::NewArray< apf::Vector3 > &elevatedNodes)
 elevation functions for beziers
 
void crv::elevateBezierCurve (apf::Mesh2 *m, apf::MeshEntity *edge, int n, int r)
 Elevate a bezier curve to a higher order. More...
 
void crv::subdivideBezierEdge (int P, double t, apf::NewArray< apf::Vector3 > &nodes, apf::NewArray< apf::Vector3 >(&subNodes)[2])
 subdivision functions for beziers
 
void crv::convertInterpolationPoints (int n, int ne, apf::NewArray< apf::Vector3 > &nodes, apf::NewArray< double > &c, apf::NewArray< apf::Vector3 > &newNodes)
 converts interpolating points to control points More...
 
void crv::getBezierTransformationCoefficients (int P, int type, apf::NewArray< double > &c)
 get coefficients for interpolating points to control points More...
 
void crv::snapToInterpolate (apf::Mesh2 *m, apf::MeshEntity *e, bool isNew=false)
 a per entity version of above
 
void crv::getTransformationMatrix (apf::Mesh *m, apf::MeshEntity *e, mth::Matrix< double > &A, const apf::Vector3 *range)
 compute the matrix to transform between Bezier and Lagrange Points More...
 

Detailed Description

main file for support of bezier shape functions

Definition in file crvBezier.h.