Go::CoonsPatchGen Namespace Reference

This namespace contains functions used to create a Coons Patch or a Gordon Surface. More...


Classes

class  UnKnownError
 Exception class. More...

Functions

SplineSurfacecreateCoonsPatch (const CurveLoop &boundary)
 Create a new SplineSurface representing the coons patch as defined by a loop of four SplineCurves.
SplineSurfacecreateCoonsPatch (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.
SplineSurfacecreateCoonsPatch (std::vector< boost::shared_ptr< SplineCurve > > &bd_curves, std::vector< boost::shared_ptr< SplineCurve > > &cross_curves)
 Create a Gordon Surface from input curves.
SplineSurfacecreateGordonSurface (std::vector< boost::shared_ptr< SplineCurve > > &mesh_curves, std::vector< double > &params, int &nmb_u_crvs, bool use_param_values)
 Create a Gordon Surface from input curves and parameters.
SplineSurfacecreateGordonSurface (std::vector< boost::shared_ptr< SplineCurve > > &mesh_curves, std::vector< double > &params, 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.
SplineSurfacedoCreateSurface (std::vector< boost::shared_ptr< SplineCurve > > &mesh_curves, std::vector< double > &params, 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.
SplineSurfaceloftSurface (std::vector< boost::shared_ptr< SplineCurve > >::iterator first_curve, int nmb_crvs)
 Create a lofting surface based on the input curves.
SplineSurfaceloftSurface (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.
SplineSurfaceloftSurface (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.
SplineSurfacetpSurface (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 > &params, 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 > &params, 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 > &params)
 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.


Detailed Description

This namespace contains functions used to create a Coons Patch or a Gordon Surface.
Generated on Mon Jun 11 14:48:19 2007 for GoTools Core Library by  doxygen 1.5.1