Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
GeomFill_GordonBuilder Class Reference

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.
 

Detailed Description

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:

Constructor & Destructor Documentation

◆ GeomFill_GordonBuilder()

GeomFill_GordonBuilder::GeomFill_GordonBuilder ( )

Creates an empty Gordon builder.

Member Function Documentation

◆ GuideSurface()

const occ::handle< Geom_BSplineSurface > & GeomFill_GordonBuilder::GuideSurface ( ) const

Returns the intermediate surface skinned through guides.

◆ Init()

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.

Parameters
[in]theProfilesarray of profile curves (V-direction sections), must share the same degree and knot vector
[in]theGuidesarray of guide curves (U-direction sections), must share the same degree and knot vector
[in]theProfileParamsparameter values at which profiles are positioned (in V-direction), size must equal theProfiles.Length()
[in]theGuideParamsparameter values at which guides are positioned (in U-direction), size must equal theGuides.Length()
[in]theTolerancegeometric tolerance for validation
[in]theIsUClosedif true, the U-direction (guides) forms a closed loop
[in]theIsVClosedif true, the V-direction (profiles) forms a closed loop

◆ IsDone()

bool GeomFill_GordonBuilder::IsDone ( ) const
inline

Returns true if the surface was successfully constructed.

◆ IsParallelMode()

bool GeomFill_GordonBuilder::IsParallelMode ( ) const
inline

Returns true if internal parallel processing is enabled.

◆ Perform()

void GeomFill_GordonBuilder::Perform ( )

Performs the Gordon surface construction.

◆ ProfileSurface()

const occ::handle< Geom_BSplineSurface > & GeomFill_GordonBuilder::ProfileSurface ( ) const

Returns the intermediate surface skinned through profiles.

◆ SetParallelMode()

void GeomFill_GordonBuilder::SetParallelMode ( bool theToUseParallel)
inline

Enables/disables parallel processing in internal stages. By default, single-thread mode is used.

◆ Surface()

const occ::handle< Geom_BSplineSurface > & GeomFill_GordonBuilder::Surface ( ) const

Returns the resulting Gordon surface.

Returns
handle to the constructed B-spline surface

◆ TensorSurface()

const occ::handle< Geom_BSplineSurface > & GeomFill_GordonBuilder::TensorSurface ( ) const

Returns the intermediate tensor product surface.


The documentation for this class was generated from the following file: