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!
|
| |
| TIGL_EXPORT Handle_Geom_BSplineSurface | SurfaceGordon () |
| | Returns the interpolation surface.
|
| |
| TIGL_EXPORT Handle_Geom_BSplineSurface | SurfaceGuides () |
| | Returns the surface that interpolates the guides.
|
| |
| TIGL_EXPORT Handle_Geom_BSplineSurface | SurfaceIntersections () |
| | Returns the Surface that interpolations the intersection point of both surfaces.
|
| |
| TIGL_EXPORT Handle_Geom_BSplineSurface | SurfaceProfiles () |
| | Returns the surface that interpolates the profiles.
|
| |
|
| typedef std::vector< Handle_Geom_BSplineCurve > | CurveArray |
| |
|
| 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) |
| |
| 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 |
◆ Perform()
| void tigl::CTiglGordonSurfaceBuilder::Perform |
( |
| ) |
|
|
private |
◆ SurfaceGordon()
| TIGL_EXPORT Handle_Geom_BSplineSurface tigl::CTiglGordonSurfaceBuilder::SurfaceGordon |
( |
| ) |
|
Returns the interpolation surface.
◆ SurfaceGuides()
| TIGL_EXPORT Handle_Geom_BSplineSurface tigl::CTiglGordonSurfaceBuilder::SurfaceGuides |
( |
| ) |
|
Returns the surface that interpolates the guides.
◆ SurfaceIntersections()
| TIGL_EXPORT Handle_Geom_BSplineSurface tigl::CTiglGordonSurfaceBuilder::SurfaceIntersections |
( |
| ) |
|
Returns the Surface that interpolations the intersection point of both surfaces.
◆ SurfaceProfiles()
| TIGL_EXPORT Handle_Geom_BSplineSurface tigl::CTiglGordonSurfaceBuilder::SurfaceProfiles |
( |
| ) |
|
Returns the surface that interpolates the profiles.
◆ m_gordonSurf
| Handle_Geom_BSplineSurface 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
| Handle_Geom_BSplineSurface tigl::CTiglGordonSurfaceBuilder::m_skinningSurfGuides |
|
private |
◆ m_skinningSurfProfiles
| Handle_Geom_BSplineSurface tigl::CTiglGordonSurfaceBuilder::m_skinningSurfProfiles |
|
private |
◆ m_tensorProdSurf
| Handle_Geom_BSplineSurface tigl::CTiglGordonSurfaceBuilder::m_tensorProdSurf |
|
private |
◆ m_tol
| double tigl::CTiglGordonSurfaceBuilder::m_tol |
|
private |
The documentation for this class was generated from the following file: