Curve network interpolation with gordon surfaces. More...
#include <CTiglInterpolateCurveNetwork.h>
Public Member Functions | |
| TIGL_EXPORT | CTiglInterpolateCurveNetwork (const std::vector< Handle(Geom_Curve)> &profiles, const std::vector< Handle(Geom_Curve)> &guides, double spatialTolerance) |
| CTiglInterpolateCurveNetwork interpolated a curve network of guide curves and profiles curves. More... | |
| TIGL_EXPORT operator Handle() | Geom_BSplineSurface () |
| TIGL_EXPORT | Handle (Geom_BSplineSurface) Surface() |
| 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... | |
| TIGL_EXPORT std::vector< double > | ParametersGuides () |
| Returns the u parameters of the final surface, that correspond to the guide curve locations. More... | |
| TIGL_EXPORT std::vector< double > | ParametersProfiles () |
| Returns the v parameters of the final surface, that correspond to the profile curve locations. More... | |
Private Types | |
| typedef std::vector< Handle(Geom_BSplineCurve)> | CurveArray |
Private Member Functions | |
| void | ComputeIntersections (math_Matrix &intersection_params_u, math_Matrix &intersection_params_v) const |
| void | EliminateInaccuraciesNetworkIntersections (const std::vector< Handle(Geom_BSplineCurve)> &sorted_splines_u, const std::vector< Handle(Geom_BSplineCurve)> &sorted_splines_v, math_Matrix &intersection_params_u, math_Matrix &intersection_params_v) const |
| Handle (Geom_BSplineSurface) m_skinningSurfProfiles | |
| void | MakeCurvesCompatible () |
| void | Perform () |
| void | SortCurves (math_Matrix &intersection_params_u, math_Matrix &intersection_params_v) |
Private Attributes | |
| m_gordonSurf | |
| CurveArray | m_guides |
| bool | m_hasPerformed |
| std::vector< double > | m_intersectionParamsU |
| std::vector< double > | m_intersectionParamsV |
| CurveArray | m_profiles |
| m_skinningSurfGuides | |
| double | m_spatialTol |
| m_tensorProdSurf | |
Curve network interpolation with gordon surfaces.
The algorithm uses the gordon method, to create the interpolation surface. To do this, it does the following:
|
private |
| TIGL_EXPORT tigl::CTiglInterpolateCurveNetwork::CTiglInterpolateCurveNetwork | ( | const std::vector< Handle(Geom_Curve)> & | profiles, |
| const std::vector< Handle(Geom_Curve)> & | guides, | ||
| double | spatialTolerance | ||
| ) |
CTiglInterpolateCurveNetwork interpolated a curve network of guide curves and profiles curves.
| profiles | The profiles to be interpolated |
| guides | The guides curves to be interpolated |
| spatialTolerance | Maximum allowed distance between each guide and profile (in theory they must intersect) |
|
private |
|
private |
| TIGL_EXPORT operator Handle() tigl::CTiglInterpolateCurveNetwork::Geom_BSplineSurface | ( | ) |
| TIGL_EXPORT tigl::CTiglInterpolateCurveNetwork::Handle | ( | Geom_BSplineSurface | ) |
Returns the interpolation surface.
| TIGL_EXPORT tigl::CTiglInterpolateCurveNetwork::Handle | ( | Geom_BSplineSurface | ) |
Returns the surface that interpolates the profiles.
| TIGL_EXPORT tigl::CTiglInterpolateCurveNetwork::Handle | ( | Geom_BSplineSurface | ) |
Returns the surface that interpolates the guides.
| TIGL_EXPORT tigl::CTiglInterpolateCurveNetwork::Handle | ( | Geom_BSplineSurface | ) |
Returns the Surface that interpolations the intersection point of both surfaces.
|
private |
|
private |
| TIGL_EXPORT std::vector<double> tigl::CTiglInterpolateCurveNetwork::ParametersGuides | ( | ) |
Returns the u parameters of the final surface, that correspond to the guide curve locations.
| TIGL_EXPORT std::vector<double> tigl::CTiglInterpolateCurveNetwork::ParametersProfiles | ( | ) |
Returns the v parameters of the final surface, that correspond to the profile curve locations.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |