![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
Core mathematical kernel for Gordon surface construction via the Boolean sum method. More...
#include <GeomFill_GordonBuilder.hxx>
Public Member Functions | |
| GeomFill_GordonBuilder () | |
| Creates an empty Gordon builder. | |
| void | Init (const NCollection_Array1< occ::handle< Geom_BSplineCurve > > &theProfiles, const NCollection_Array1< occ::handle< Geom_BSplineCurve > > &theGuides, const NCollection_Array1< double > &theProfileParams, const NCollection_Array1< double > &theGuideParams, double theTolerance, bool theIsUClosed=false, bool theIsVClosed=false) |
| Initializes the builder with compatible BSpline curves and intersection parameters. | |
| void | Perform () |
| Performs the Gordon surface construction. | |
| void | SetParallelMode (bool theToUseParallel) |
| Enables/disables parallel processing in internal stages. By default, single-thread mode is used. | |
| bool | IsParallelMode () const |
| Returns true if internal parallel processing is enabled. | |
| bool | IsDone () const |
| Returns true if the surface was successfully constructed. | |
| const occ::handle< Geom_BSplineSurface > & | Surface () const |
| Returns the resulting Gordon surface. | |
| const occ::handle< Geom_BSplineSurface > & | ProfileSurface () const |
| Returns the intermediate surface skinned through profiles. | |
| const occ::handle< Geom_BSplineSurface > & | GuideSurface () const |
| Returns the intermediate surface skinned through guides. | |
| const occ::handle< Geom_BSplineSurface > & | TensorSurface () const |
| Returns the intermediate tensor product surface. | |
Core mathematical kernel for Gordon surface construction via the Boolean sum method.
Accepts pre-compatible BSpline curves (same degree and knot vector within each direction) and intersection parameters. Builds three intermediate surfaces (skin profiles, skin guides, tensor product) then computes the Boolean sum: S_gordon = S_profiles + S_guides - S_tensor
This class can be used independently when curves are already compatible, or via GeomFill_Gordon which handles curve preparation.
Supports closed (periodic) curve networks when the first and last curves in a direction are geometrically identical. The closedness flags enable C2-continuous periodic interpolation during skinning.
Limitations:
| GeomFill_GordonBuilder::GeomFill_GordonBuilder | ( | ) |
Creates an empty Gordon builder.
| const occ::handle< Geom_BSplineSurface > & GeomFill_GordonBuilder::GuideSurface | ( | ) | const |
Returns the intermediate surface skinned through guides.
| void GeomFill_GordonBuilder::Init | ( | const NCollection_Array1< occ::handle< Geom_BSplineCurve > > & | theProfiles, |
| const NCollection_Array1< occ::handle< Geom_BSplineCurve > > & | theGuides, | ||
| const NCollection_Array1< double > & | theProfileParams, | ||
| const NCollection_Array1< double > & | theGuideParams, | ||
| double | theTolerance, | ||
| bool | theIsUClosed = false, | ||
| bool | theIsVClosed = false ) |
Initializes the builder with compatible BSpline curves and intersection parameters.
| [in] | theProfiles | array of profile curves (V-direction sections), must share the same degree and knot vector |
| [in] | theGuides | array of guide curves (U-direction sections), must share the same degree and knot vector |
| [in] | theProfileParams | parameter values at which profiles are positioned (in V-direction), size must equal theProfiles.Length() |
| [in] | theGuideParams | parameter values at which guides are positioned (in U-direction), size must equal theGuides.Length() |
| [in] | theTolerance | geometric tolerance for validation |
| [in] | theIsUClosed | if true, the U-direction (guides) forms a closed loop |
| [in] | theIsVClosed | if true, the V-direction (profiles) forms a closed loop |
|
inline |
Returns true if the surface was successfully constructed.
|
inline |
Returns true if internal parallel processing is enabled.
| void GeomFill_GordonBuilder::Perform | ( | ) |
Performs the Gordon surface construction.
| const occ::handle< Geom_BSplineSurface > & GeomFill_GordonBuilder::ProfileSurface | ( | ) | const |
Returns the intermediate surface skinned through profiles.
Enables/disables parallel processing in internal stages. By default, single-thread mode is used.
| const occ::handle< Geom_BSplineSurface > & GeomFill_GordonBuilder::Surface | ( | ) | const |
Returns the resulting Gordon surface.
| const occ::handle< Geom_BSplineSurface > & GeomFill_GordonBuilder::TensorSurface | ( | ) | const |
Returns the intermediate tensor product surface.