Classes | |
class | UnKnownError |
Exception class. More... | |
Functions | |
SplineSurface * | createCoonsPatch (const CurveLoop &boundary) |
Create a new SplineSurface representing the coons patch as defined by a loop of four SplineCurves. | |
SplineSurface * | createCoonsPatch (std::vector< boost::shared_ptr< ParamCurve > > &bd_curves, std::vector< boost::shared_ptr< ParamCurve > > &cross_curves, double epsge, double kink_tol) |
bd_curves form a loop, all cross curves point into the surface. | |
SplineSurface * | createCoonsPatch (std::vector< boost::shared_ptr< SplineCurve > > &bd_curves, std::vector< boost::shared_ptr< SplineCurve > > &cross_curves) |
Create a Gordon Surface from input curves. | |
SplineSurface * | createGordonSurface (std::vector< boost::shared_ptr< SplineCurve > > &mesh_curves, std::vector< double > ¶ms, int &nmb_u_crvs, bool use_param_values) |
Create a Gordon Surface from input curves and parameters. | |
SplineSurface * | createGordonSurface (std::vector< boost::shared_ptr< SplineCurve > > &mesh_curves, std::vector< double > ¶ms, int &nmb_u_crvs, std::vector< boost::shared_ptr< SplineCurve > > &cross_curves, std::vector< int > &cross_index, bool use_param_values=true) |
Create a Gordon Surface from input curves and parameters. | |
SplineSurface * | doCreateSurface (std::vector< boost::shared_ptr< SplineCurve > > &mesh_curves, std::vector< double > ¶ms, int &nmb_u_crvs, std::vector< boost::shared_ptr< SplineCurve > > &cross_curves, std::vector< int > &cross_index) |
Create a Gordon Surface interpolating the input curves in the input parameters. | |
SplineSurface * | loftSurface (std::vector< boost::shared_ptr< SplineCurve > >::iterator first_curve, int nmb_crvs) |
Create a lofting surface based on the input curves. | |
SplineSurface * | loftSurface (std::vector< boost::shared_ptr< SplineCurve > >::iterator first_curve, std::vector< double >::iterator first_param, int nmb_crvs) |
Create a lofting surface interpolating the input curves in the input parameters. | |
SplineSurface * | loftSurface (std::vector< boost::shared_ptr< SplineCurve > >::iterator first_curve, std::vector< double >::iterator first_param, int nmb_crvs, std::vector< boost::shared_ptr< SplineCurve > >::iterator first_cross_curve, std::vector< int > &cross_index) |
Create a lofting surface interpolating the input curves and cross tangent curves in the input parameters. | |
SplineSurface * | tpSurface (const std::vector< boost::shared_ptr< SplineCurve > > &mesh_curves, std::vector< double > params, int nmb_u_crvs, const std::vector< boost::shared_ptr< SplineCurve > > &cross_curves, std::vector< int > &cross_index) |
Make tensor product surface which interpolates given grid points. | |
void | splitMeshCurves (std::vector< boost::shared_ptr< SplineCurve > > &mesh_curves, std::vector< double > ¶ms, int &nmb_u_crvs, std::vector< int > &cross_index, double epsgeo) |
Given input iso-curves, the curves are analyzed and the ordering altered such that the nmb_u_crvs first elements are u-curves, and the rest are v-curves. | |
void | sortMeshCurves (std::vector< boost::shared_ptr< SplineCurve > > &mesh_curves, std::vector< double > ¶ms, int nmb_u_crvs, std::vector< int > &cross_index) |
Given that mesh_curves has been regrouped with u-curves up front, we sort the vector according to values in params. | |
void | getCrossTangs (const std::vector< boost::shared_ptr< SplineCurve > > &curves, std::vector< boost::shared_ptr< SplineCurve > > &mod_cross_curves, double tol1, double tol2) |
Prepare cross tangents for surface creation. | |
void | addMissingCrossCurves (const std::vector< boost::shared_ptr< SplineCurve > > &bnd_curves, std::vector< boost::shared_ptr< SplineCurve > > &cross_crvs) |
Generates missing cross boundary curves. | |
void | getTangBlends (std::vector< boost::shared_ptr< SplineCurve > > &curves, int iedge, std::vector< boost::shared_ptr< SplineCurve > > &blend_functions) |
Find blending functions used to blend two derivative along some boundary curves corresponding to a surface, into a cross derivative curve pr edge. | |
void | blendcoef (double evecu[], double evecv[], double etang[], int idim, int isign, double *coef1, double *coef2) |
Project the etang vector onto the plane defined by evecu and evecv. | |
void | hermit (double econd[], int icond, bool hasder1, double astart, double aend, int idim) |
Hermite interpolate the input points. | |
void | fixCrossEndPts (const std::vector< boost::shared_ptr< SplineCurve > > &bd_curves, const std::vector< boost::shared_ptr< SplineCurve > > &cross_curves) |
Make sure that the end points of the existing cross_tangent_curves match the end derivatives of the corresponding bd_curves. | |
void | makeLoftParams (std::vector< boost::shared_ptr< SplineCurve > >::const_iterator first_curve, int nmb_crvs, double param_length, std::vector< double > ¶ms) |
Calculate iso parameters for the input curves. | |
void | reparamBoundaryCurve (std::vector< boost::shared_ptr< SplineCurve > > &curves, double aconst) |
Check length of tangent vectors at the endpoints of a curve compared to the size of the curve. |