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 |