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. | |
| TIGL_EXPORT | operator Handle_Geom_BSplineSurface () |
| TIGL_EXPORT std::vector< double > | ParametersGuides () |
| Returns the u parameters of the final surface, that correspond to the guide curve locations. | |
| TIGL_EXPORT std::vector< double > | ParametersProfiles () |
| Returns the v parameters of the final surface, that correspond to the profile curve locations. | |
| TIGL_EXPORT Handle_Geom_BSplineSurface | Surface () |
| 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. | |
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 |
| void | MakeCurvesCompatible () |
| void | Perform () |
| void | SortCurves (math_Matrix &intersection_params_u, math_Matrix &intersection_params_v) |
Private Attributes | |
| Handle_Geom_BSplineSurface | m_gordonSurf |
| CurveArray | m_guides |
| bool | m_hasPerformed |
| std::vector< double > | m_intersectionParamsU |
| std::vector< double > | m_intersectionParamsV |
| CurveArray | m_profiles |
| Handle_Geom_BSplineSurface | m_skinningSurfGuides |
| Handle_Geom_BSplineSurface | m_skinningSurfProfiles |
| double | m_spatialTol |
| Handle_Geom_BSplineSurface | 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 |
|
private |
| TIGL_EXPORT tigl::CTiglInterpolateCurveNetwork::operator Handle_Geom_BSplineSurface | ( | ) |
| 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 |
| TIGL_EXPORT Handle_Geom_BSplineSurface tigl::CTiglInterpolateCurveNetwork::Surface | ( | ) |
Returns the interpolation surface.
| TIGL_EXPORT Handle_Geom_BSplineSurface tigl::CTiglInterpolateCurveNetwork::SurfaceGuides | ( | ) |
Returns the surface that interpolates the guides.
| TIGL_EXPORT Handle_Geom_BSplineSurface tigl::CTiglInterpolateCurveNetwork::SurfaceIntersections | ( | ) |
Returns the Surface that interpolations the intersection point of both surfaces.
| TIGL_EXPORT Handle_Geom_BSplineSurface tigl::CTiglInterpolateCurveNetwork::SurfaceProfiles | ( | ) |
Returns the surface that interpolates the profiles.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |