This class is basically a helper class for the tigl::CTiglInterpolateCurveNetwork algorithm.
More...
#include <CTiglGordonSurfaceBuilder.h>
|
| CTiglGordonSurfaceBuilder (const std::vector< Handle(Geom_BSplineCurve)> &profiles, const std::vector< Handle(Geom_BSplineCurve)> &guides, const std::vector< double > &intersectParamsOnProfiles, const std::vector< double > &intersectParamsOnGuides, double spatialTolerance) |
| Builds a Gordon Surface of a given compatible network of B-splines All parameters must be in the right order and the B-spline network must be 'closed', i.e., B-splines mustn't stick out! More...
|
|
TIGL_EXPORT | Handle (Geom_BSplineSurface) SurfaceGordon() |
| Returns the interpolation surface. More...
|
|
TIGL_EXPORT | Handle (Geom_BSplineSurface) SurfaceProfiles() |
| Returns the surface that interpolates the profiles. More...
|
|
TIGL_EXPORT | Handle (Geom_BSplineSurface) SurfaceGuides() |
| Returns the surface that interpolates the guides. More...
|
|
TIGL_EXPORT | Handle (Geom_BSplineSurface) SurfaceIntersections() |
| Returns the Surface that interpolations the intersection point of both surfaces. More...
|
|
|
void | CheckCurveNetworkCompatibility (const std::vector< Handle(Geom_BSplineCurve) > &profiles, const std::vector< Handle(Geom_BSplineCurve) > &guides, const std::vector< double > &intersection_params_spline_u, const std::vector< double > &intersection_params_spline_v, double tol) |
|
void | CreateGordonSurface (const std::vector< Handle(Geom_BSplineCurve)> &profiles, const std::vector< Handle(Geom_BSplineCurve)> &guides, const std::vector< double > &intersection_params_spline_u, const std::vector< double > &intersection_params_spline_v) |
|
| Handle (Geom_BSplineSurface) m_skinningSurfProfiles |
|
void | Perform () |
|
This class is basically a helper class for the tigl::CTiglInterpolateCurveNetwork algorithm.
It implements the basics gordon surface algorithm.
Since it requires a compatible curve network, it is not very useful on its own. For practical reasons, use tigl::CTiglInterpolateCurveNetwork.
◆ CurveArray
◆ CTiglGordonSurfaceBuilder()
tigl::CTiglGordonSurfaceBuilder::CTiglGordonSurfaceBuilder |
( |
const std::vector< Handle(Geom_BSplineCurve)> & |
profiles, |
|
|
const std::vector< Handle(Geom_BSplineCurve)> & |
guides, |
|
|
const std::vector< double > & |
intersectParamsOnProfiles, |
|
|
const std::vector< double > & |
intersectParamsOnGuides, |
|
|
double |
spatialTolerance |
|
) |
| |
Builds a Gordon Surface of a given compatible network of B-splines All parameters must be in the right order and the B-spline network must be 'closed', i.e., B-splines mustn't stick out!
- Parameters
-
profiles | vector of B-splines in u-direction compatible means: intersection parameters with v-directional B-splines are equal |
guides | vector of B-splines in v-direction, orthogonal to u-direction compatible means: intersection parameters with u-directional B-splines are equal (if not: reparametrize -> change B-spline knots) DON'T need to have common knot vector because skinning method is creating it when needed (for surface_v) |
intersectParamsOnProfiles | Parameters on the profiles of the intersection with the guides (size = nGuides) |
intersectParamsOnGuides | Parameters on the guides of the intersection with the profiles (size = nProfiles) |
spatialTolerance | Maximum allowed distance between each guide and profile (in theory they must intersect) |
◆ CheckCurveNetworkCompatibility()
void tigl::CTiglGordonSurfaceBuilder::CheckCurveNetworkCompatibility |
( |
const std::vector< Handle(Geom_BSplineCurve) > & |
profiles, |
|
|
const std::vector< Handle(Geom_BSplineCurve) > & |
guides, |
|
|
const std::vector< double > & |
intersection_params_spline_u, |
|
|
const std::vector< double > & |
intersection_params_spline_v, |
|
|
double |
tol |
|
) |
| |
|
private |
◆ CreateGordonSurface()
void tigl::CTiglGordonSurfaceBuilder::CreateGordonSurface |
( |
const std::vector< Handle(Geom_BSplineCurve)> & |
profiles, |
|
|
const std::vector< Handle(Geom_BSplineCurve)> & |
guides, |
|
|
const std::vector< double > & |
intersection_params_spline_u, |
|
|
const std::vector< double > & |
intersection_params_spline_v |
|
) |
| |
|
private |
◆ Handle() [1/5]
TIGL_EXPORT tigl::CTiglGordonSurfaceBuilder::Handle |
( |
Geom_BSplineSurface |
| ) |
|
Returns the interpolation surface.
◆ Handle() [2/5]
TIGL_EXPORT tigl::CTiglGordonSurfaceBuilder::Handle |
( |
Geom_BSplineSurface |
| ) |
|
Returns the surface that interpolates the profiles.
◆ Handle() [3/5]
TIGL_EXPORT tigl::CTiglGordonSurfaceBuilder::Handle |
( |
Geom_BSplineSurface |
| ) |
|
Returns the surface that interpolates the guides.
◆ Handle() [4/5]
TIGL_EXPORT tigl::CTiglGordonSurfaceBuilder::Handle |
( |
Geom_BSplineSurface |
| ) |
|
Returns the Surface that interpolations the intersection point of both surfaces.
◆ Handle() [5/5]
tigl::CTiglGordonSurfaceBuilder::Handle |
( |
Geom_BSplineSurface |
| ) |
|
|
private |
◆ Perform()
void tigl::CTiglGordonSurfaceBuilder::Perform |
( |
| ) |
|
|
private |
◆ m_gordonSurf
tigl::CTiglGordonSurfaceBuilder::m_gordonSurf |
|
private |
◆ m_guides
CurveArray tigl::CTiglGordonSurfaceBuilder::m_guides |
|
private |
◆ m_hasPerformed
bool tigl::CTiglGordonSurfaceBuilder::m_hasPerformed |
|
private |
◆ m_intersection_params_spline_u
const std::vector<double>& tigl::CTiglGordonSurfaceBuilder::m_intersection_params_spline_u |
|
private |
◆ m_intersection_params_spline_v
const std::vector<double> tigl::CTiglGordonSurfaceBuilder::m_intersection_params_spline_v |
|
private |
◆ m_profiles
CurveArray tigl::CTiglGordonSurfaceBuilder::m_profiles |
|
private |
◆ m_skinningSurfGuides
tigl::CTiglGordonSurfaceBuilder::m_skinningSurfGuides |
|
private |
◆ m_tensorProdSurf
tigl::CTiglGordonSurfaceBuilder::m_tensorProdSurf |
|
private |
◆ m_tol
double tigl::CTiglGordonSurfaceBuilder::m_tol |
|
private |
The documentation for this class was generated from the following file: