IFEM  90A354
Namespaces | Enumerations | Functions
SplineUtils.h File Reference

Various utility functions on spline objects - GoTools extensions. More...

#include "MatVec.h"
Include dependency graph for SplineUtils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 SplineUtils
 Various utility functions on spline objects.
 

Enumerations

enum class  SplineUtils::AdjustOp { SplineUtils::Lower , SplineUtils::Original , SplineUtils::Raise }
 Enumeration of basis adjustment operations. More...
 

Functions

Vec3 SplineUtils::toVec3 (const Go::Point &X, int nsd=3)
 Helper method for casting a Go::Point object to Vec3.
 
Vec4 SplineUtils::toVec4 (const Go::Point &X, Real time=Real(0), const double *u=nullptr)
 Helper method for casting a Go::Point and time object to Vec4.
 
void SplineUtils::point (Vec3 &X, double u, const Go::SplineCurve *curve)
 Evaluates given spline curve at a parametric point.
 
void SplineUtils::point (Vec3 &X, double u, double v, const Go::SplineSurface *surf)
 Evaluates given spline surface at a parametric point.
 
void SplineUtils::point (Vec3 &X, double u, double v, double w, const Go::SplineVolume *vol)
 Evaluates given spline colume at a parametric point.
 
void SplineUtils::extractBasis (const Go::BasisDerivsSf &spline, Vector &N, Matrix &dNdu)
 Establishes matrices with basis functions and 1st derivatives.
 
void SplineUtils::extractBasis (const Go::BasisDerivsSf2 &spline, Vector &N, Matrix &dNdu, Matrix3D &d2Ndu2)
 Establishes matrices with basis functions, 1st and 2nd derivatives.
 
void SplineUtils::extractBasis (const Go::BasisDerivsSf3 &spline, Vector &N, Matrix &dNdu, Matrix3D &d2Ndu2, Matrix4D &d3Ndu3)
 Establishes matrices with basis functions, 1st, 2nd and 3rd derivatives.
 
void SplineUtils::extractBasis (const Go::BasisDerivs &spline, Vector &N, Matrix &dNdu)
 Establishes matrices with basis functions and 1st derivatives.
 
void SplineUtils::extractBasis (const Go::BasisDerivs2 &spline, Vector &N, Matrix &dNdu, Matrix3D &d2Ndu2)
 Establishes matrices with basis functions, 1st and 2nd derivatives.
 
void SplineUtils::getGaussParameters (RealArray &uGP, int nGP, const double *xi, const Go::BsplineBasis &basis, bool skipNullSpans=false)
 Extracts parameter values of the Gauss points for a spline basis. More...
 
Go::SplineCurve * SplineUtils::project (const Go::SplineCurve *curve, const FunctionBase &f, int nComp=1, Real time=Real(0))
 Projects a spatial function onto a spline curve.
 
Go::SplineSurface * SplineUtils::project (const Go::SplineSurface *surface, const FunctionBase &f, int nComp=1, Real time=Real(0))
 Projects a spatial function onto a spline surface.
 
Go::SplineVolume * SplineUtils::project (const Go::SplineVolume *volume, const FunctionBase &f, int nComp=1, Real time=Real(0))
 Projects a spatial function onto a spline volume.
 
Go::BsplineBasis SplineUtils::adjustBasis (const Go::BsplineBasis &basis, AdjustOp adjust)
 Returns a basis adjusted according to the given operation.
 
std::vector< double > SplineUtils::buildKnotVector (int p, const std::vector< double > &simple_knots, const std::vector< int > &continuities)
 Builds a knot vector from a given polynomial order, knots and continuities.
 

Detailed Description

Various utility functions on spline objects - GoTools extensions.

Date
Mar 29 2012
Author
Knut Morten Okstad / SINTEF