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

Efficient batch evaluator for B-spline surface points. More...

#include <GeomGridEval_BSplineSurface.hxx>

Public Member Functions

 GeomGridEval_BSplineSurface (const occ::handle< Geom_BSplineSurface > &theSurface)
 Constructor with geometry.
 
 GeomGridEval_BSplineSurface (const GeomGridEval_BSplineSurface &)=delete
 Non-copyable and non-movable.
 
GeomGridEval_BSplineSurfaceoperator= (const GeomGridEval_BSplineSurface &)=delete
 
 GeomGridEval_BSplineSurface (GeomGridEval_BSplineSurface &&)=delete
 
GeomGridEval_BSplineSurfaceoperator= (GeomGridEval_BSplineSurface &&)=delete
 
const occ::handle< Geom_BSplineSurface > & Geometry () const
 Returns the geometry handle.
 
NCollection_Array2< gp_PntEvaluateGrid (const NCollection_Array1< double > &theUParams, const NCollection_Array1< double > &theVParams) const
 Evaluate grid points at Cartesian product of U and V parameters. Points are evaluated in span-grouped order to minimize cache rebuilds.
 
NCollection_Array2< GeomGridEval::SurfD1EvaluateGridD1 (const NCollection_Array1< double > &theUParams, const NCollection_Array1< double > &theVParams) const
 Evaluate grid points with first partial derivatives.
 
NCollection_Array2< GeomGridEval::SurfD2EvaluateGridD2 (const NCollection_Array1< double > &theUParams, const NCollection_Array1< double > &theVParams) const
 Evaluate grid points with first and second partial derivatives.
 
NCollection_Array2< GeomGridEval::SurfD3EvaluateGridD3 (const NCollection_Array1< double > &theUParams, const NCollection_Array1< double > &theVParams) const
 Evaluate grid points with derivatives up to third order. Uses direct BSplSLib::D3 evaluation (no caching for D3).
 
NCollection_Array2< gp_VecEvaluateGridDN (const NCollection_Array1< double > &theUParams, const NCollection_Array1< double > &theVParams, int theNU, int theNV) const
 Evaluate partial derivative d^(NU+NV)S/(dU^NU dV^NV) at all grid points. For orders > degree in either direction, returns zero. Uses direct geometry DN method.
 

Detailed Description

Efficient batch evaluator for B-spline surface points.

Stateless evaluator - constructor takes geometry, parameters passed to methods.

Optimizes evaluation by:

Usage:

NCollection_Array2<gp_Pnt> aGrid = anEvaluator.EvaluateGrid(myUParams, myVParams);
Efficient batch evaluator for B-spline surface points.
Definition GeomGridEval_BSplineSurface.hxx:41
STL input iterator that wraps an OCCT More()/Next() iterator.
Definition NCollection_ForwardRange.hxx:142

Constructor & Destructor Documentation

◆ GeomGridEval_BSplineSurface() [1/3]

GeomGridEval_BSplineSurface::GeomGridEval_BSplineSurface ( const occ::handle< Geom_BSplineSurface > & theSurface)
inline

Constructor with geometry.

Parameters
theSurfacethe B-spline surface to evaluate

◆ GeomGridEval_BSplineSurface() [2/3]

GeomGridEval_BSplineSurface::GeomGridEval_BSplineSurface ( const GeomGridEval_BSplineSurface & )
delete

Non-copyable and non-movable.

◆ GeomGridEval_BSplineSurface() [3/3]

GeomGridEval_BSplineSurface::GeomGridEval_BSplineSurface ( GeomGridEval_BSplineSurface && )
delete

Member Function Documentation

◆ EvaluateGrid()

NCollection_Array2< gp_Pnt > GeomGridEval_BSplineSurface::EvaluateGrid ( const NCollection_Array1< double > & theUParams,
const NCollection_Array1< double > & theVParams ) const

Evaluate grid points at Cartesian product of U and V parameters. Points are evaluated in span-grouped order to minimize cache rebuilds.

Parameters
theUParamsarray of U parameter values
theVParamsarray of V parameter values
Returns
2D array of evaluated points (1-based indexing), or empty array if geometry is null or parameters empty

◆ EvaluateGridD1()

NCollection_Array2< GeomGridEval::SurfD1 > GeomGridEval_BSplineSurface::EvaluateGridD1 ( const NCollection_Array1< double > & theUParams,
const NCollection_Array1< double > & theVParams ) const

Evaluate grid points with first partial derivatives.

Parameters
theUParamsarray of U parameter values
theVParamsarray of V parameter values
Returns
2D array of SurfD1 (1-based indexing), or empty array if geometry is null or parameters empty

◆ EvaluateGridD2()

NCollection_Array2< GeomGridEval::SurfD2 > GeomGridEval_BSplineSurface::EvaluateGridD2 ( const NCollection_Array1< double > & theUParams,
const NCollection_Array1< double > & theVParams ) const

Evaluate grid points with first and second partial derivatives.

Parameters
theUParamsarray of U parameter values
theVParamsarray of V parameter values
Returns
2D array of SurfD2 (1-based indexing), or empty array if geometry is null or parameters empty

◆ EvaluateGridD3()

NCollection_Array2< GeomGridEval::SurfD3 > GeomGridEval_BSplineSurface::EvaluateGridD3 ( const NCollection_Array1< double > & theUParams,
const NCollection_Array1< double > & theVParams ) const

Evaluate grid points with derivatives up to third order. Uses direct BSplSLib::D3 evaluation (no caching for D3).

Parameters
theUParamsarray of U parameter values
theVParamsarray of V parameter values
Returns
2D array of SurfD3 (1-based indexing), or empty array if geometry is null or parameters empty

◆ EvaluateGridDN()

NCollection_Array2< gp_Vec > GeomGridEval_BSplineSurface::EvaluateGridDN ( const NCollection_Array1< double > & theUParams,
const NCollection_Array1< double > & theVParams,
int theNU,
int theNV ) const

Evaluate partial derivative d^(NU+NV)S/(dU^NU dV^NV) at all grid points. For orders > degree in either direction, returns zero. Uses direct geometry DN method.

Parameters
theUParamsarray of U parameter values
theVParamsarray of V parameter values
theNUderivative order in U direction
theNVderivative order in V direction
Returns
2D array of derivative vectors (1-based indexing)

◆ Geometry()

const occ::handle< Geom_BSplineSurface > & GeomGridEval_BSplineSurface::Geometry ( ) const
inline

Returns the geometry handle.

◆ operator=() [1/2]

GeomGridEval_BSplineSurface & GeomGridEval_BSplineSurface::operator= ( const GeomGridEval_BSplineSurface & )
delete

◆ operator=() [2/2]

GeomGridEval_BSplineSurface & GeomGridEval_BSplineSurface::operator= ( GeomGridEval_BSplineSurface && )
delete

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