|
|
| Surface (occtl_graph_t *theGraph=nullptr, occtl_rep_id_t theId=occtl_rep_id_t{0}) noexcept |
| | Constructs a null reference (no graph, invalid id).
|
| |
|
| operator bool () const noexcept |
| | Returns true when the reference points into a valid graph.
|
| |
|
occtl_graph_t * | graph () const noexcept |
| | Borrows it — returns the graph pointer.
|
| |
|
occtl_rep_id_t | id () const noexcept |
| | Returns the representation id.
|
| |
| Surface | reversed () const |
| | Returns a U-reversed copy of this surface stored in the same graph.
|
| |
| Surface | transformed (const Transform &theTrsf) const |
| | Returns a transformed copy of this surface stored in the same graph.
|
| |
| Surface | translated (const Vector3 &theDelta) const |
| | Returns a translated copy of this surface stored in the same graph.
|
| |
| Surface | rotated (const Axis1Placement &theAxis, double theAngle) const |
| | Returns a rotated copy of this surface stored in the same graph.
|
| |
| Surface | scaled (const Point3 &theOrigin, double theFactor) const |
| | Returns a scaled copy of this surface stored in the same graph.
|
| |
| double | area () const |
| | Returns the surface area over its full UV domain.
|
| |
| std::tuple< double, double, double > | project_point (const Point3 &thePoint) const |
| | Projects a point onto the surface.
|
| |
| std::pair< double, double > | uv_of_point (const Point3 &thePoint) const |
| | Returns the UV coordinates on the surface nearest to a point.
|
| |
| occtl_surface_kind_t | kind () const |
| | Returns the kind of surface this handle holds.
|
| |
| int32_t | is_u_periodic () const |
| | Returns 1 when the surface is periodic in the U direction.
|
| |
| int32_t | is_v_periodic () const |
| | Returns 1 when the surface is periodic in the V direction.
|
| |
| int32_t | is_closed () const |
| | Returns 1 when the surface is closed in both U and V directions.
|
| |
| int32_t | is_periodic () const |
| | Returns 1 when the surface is periodic in either U or V direction.
|
| |
| occtl_geom_continuity_t | continuity () const |
| | Returns the geometric continuity class.
|
| |
| void | parameter_range (double &theUMin, double &theUMax, double &theVMin, double &theVMax) const |
| | Returns the parameter range via out-parameters.
|
| |
| occtl_geom_plane_t | as_plane () const |
| | Extracts the underlying plane.
|
| |
| occtl_geom_cylindrical_surface_t | as_cylinder () const |
| | Extracts the underlying cylinder.
|
| |
| occtl_geom_conical_surface_t | as_cone () const |
| | Extracts the underlying cone.
|
| |
| occtl_geom_spherical_surface_t | as_sphere () const |
| | Extracts the underlying sphere.
|
| |
| occtl_geom_toroidal_surface_t | as_torus () const |
| | Extracts the underlying torus.
|
| |
|
RevolutionView | as_revolution () const |
| |
|
ExtrusionView | as_extrusion () const |
| |
|
RectangularTrimmedView | as_rectangular_trimmed () const |
| |
|
OffsetView | as_offset () const |
| |
| BSplineView | as_bspline () const |
| | Returns a aggregate inspection view of a B-spline surface.
|
| |
| int32_t | bspline_u_degree () const |
| | Returns the U polynomial degree.
|
| |
| int32_t | bspline_v_degree () const |
| | Returns the V polynomial degree.
|
| |
| size_t | bspline_u_pole_count () const |
| | Returns the number of poles in the U direction.
|
| |
| size_t | bspline_v_pole_count () const |
| | Returns the number of poles in the V direction.
|
| |
| size_t | bspline_u_knot_count () const |
| | Returns the number of distinct U knot values.
|
| |
| size_t | bspline_v_knot_count () const |
| | Returns the number of distinct V knot values.
|
| |
| int32_t | bspline_is_rational () const |
| | Returns 1 when the surface is rational in either U or V, 0 otherwise.
|
| |
| int32_t | bezier_u_degree () const |
| | Returns the U degree of a Bezier surface.
|
| |
| int32_t | bezier_v_degree () const |
| | Returns the V degree of a Bezier surface.
|
| |
| size_t | bezier_u_pole_count () const |
| | Returns the number of poles in the U direction of a Bezier surface.
|
| |
| size_t | bezier_v_pole_count () const |
| | Returns the number of poles in the V direction of a Bezier surface.
|
| |
| int32_t | bezier_is_rational () const |
| | Returns 1 when the Bezier surface is rational, 0 otherwise.
|
| |
| std::vector< occtl_point3_t > | bspline_poles () const |
| | Copies poles (row-major: u * v_pole_count + v) into a vector.
|
| |
| std::vector< double > | bspline_u_knots () const |
| | Copies U knot values into a vector.
|
| |
| std::vector< double > | bspline_v_knots () const |
| | Copies V knot values into a vector.
|
| |
| std::vector< int32_t > | bspline_u_multiplicities () const |
| | Copies U knot multiplicities into a vector.
|
| |
| std::vector< int32_t > | bspline_v_multiplicities () const |
| | Copies V knot multiplicities into a vector.
|
| |
| std::vector< double > | bspline_weights () const |
| | Copies all weights (row-major u*v_pole_count + v) into a vector.
|
| |
| std::vector< double > | bspline_u_flat_knots () const |
| | Copies the expanded U flat knot sequence into a vector.
|
| |
| std::vector< double > | bspline_v_flat_knots () const |
| | Copies the expanded V flat knot sequence into a vector.
|
| |
| const occtl_point3_t * | bspline_poles_view (size_t &theNbU, size_t &theNbV) const |
| | Returns a zero-copy view of the surface poles array (row-major u*v_pole_count + v). Valid until the graph rep is removed or a mutating call is made on it.
|
| |
| std::vector< occtl_point3_t > | intersect_curve (const Curve &theCurve) const |
| | Computes intersection points with a curve. Two-call pattern handled internally; returns a vector of intersection points.
|
| |
| std::vector< Curve > | intersect_surface (const Surface &theOther, double theTolerance=1.0e-7) const |
| | Computes intersection curves with another surface. Each result curve wraps a rep id in the same graph.
|
| |
| occtl_point3_t | eval_d0 (const double theU, const double theV) const |
| | Evaluates the surface point at (theU, theV).
|
| |
| std::tuple< occtl_point3_t, occtl_vector3_t, occtl_vector3_t > | eval_d1 (const double theU, const double theV) const |
| | Evaluates point and first-order partial derivatives at (theU, theV). Returns (point, dS/du, dS/dv).
|
| |
| std::tuple< occtl_point3_t, occtl_vector3_t, occtl_vector3_t, occtl_vector3_t, occtl_vector3_t, occtl_vector3_t > | eval_d2 (const double theU, const double theV) const |
| | Evaluates point and first- and second-order partial derivatives at (theU, theV). Returns (point, dS/du, dS/dv, d²S/du², d²S/dv², d²S/dudv).
|
| |
| std::tuple< occtl_point3_t, occtl_vector3_t, occtl_vector3_t, occtl_vector3_t, occtl_vector3_t, occtl_vector3_t, occtl_vector3_t, occtl_vector3_t, occtl_vector3_t, occtl_vector3_t > | eval_d3 (const double theU, const double theV) const |
| | Evaluates point and first-, second-, and third-order partial derivatives at (theU, theV).
|
| |
| occtl_vector3_t | eval_dn (const double theU, const double theV, const int32_t theNu, const int32_t theNv) const |
| | Returns a partial derivative vector at (theU, theV).
|
| |
|
| static Surface | from_plane (occtl_graph_t *graph, const occtl_geom_plane_t &thePlane) |
| | Constructs a surface from a plane.
|
| |
| static Surface | from_cylinder (occtl_graph_t *graph, const occtl_geom_cylindrical_surface_t &theCyl) |
| | Constructs a surface from a cylinder.
|
| |
| static Surface | from_cone (occtl_graph_t *graph, const occtl_geom_conical_surface_t &theCone) |
| | Constructs a surface from a cone.
|
| |
| static Surface | from_sphere (occtl_graph_t *graph, const occtl_geom_spherical_surface_t &theSphere) |
| | Constructs a surface from a sphere.
|
| |
| static Surface | from_torus (occtl_graph_t *graph, const occtl_geom_toroidal_surface_t &theTorus) |
| | Constructs a surface from a torus.
|
| |
| static Surface | from_bspline (occtl_graph_t *graph, const occtl_surface_bspline_create_info_t &theInfo) |
| | Constructs a B-spline surface from the given create info.
|
| |
| static Surface | from_bezier (occtl_graph_t *graph, const occtl_surface_bezier_create_info_t &theInfo) |
| | Constructs a Bezier surface from the given create info.
|
| |
| static Surface | from_bezier_grid (occtl_graph_t *graph, const occtl_surface_bezier_create_info_t &theInfo) |
| | Constructs a Bezier surface from a row-major pole grid.
|
| |
| static Surface | from_revolution (occtl_graph_t *graph, const occtl_surface_revolution_create_info_t &theInfo) |
| | Constructs a surface of revolution.
|
| |
| static Surface | from_extrusion (occtl_graph_t *graph, const occtl_surface_extrusion_create_info_t &theInfo) |
| | Constructs a surface of linear extrusion.
|
| |
|
static Surface | from_rectangular_trimmed (occtl_graph_t *graph, const occtl_surface_rectangular_trimmed_create_info_t &theInfo) |
| | Constructs a rectangular-trimmed surface.
|
| |
|
static Surface | from_offset (occtl_graph_t *graph, const occtl_surface_offset_create_info_t &theInfo) |
| | Constructs an offset surface.
|
| |
| static Surface | from_interpolation (occtl_graph_t *graph, const occtl_surface_interpolated_info_t &theInfo) |
| | Constructs a surface by interpolating through the given point grid.
|
| |
| static Surface | from_approximation (occtl_graph_t *graph, const occtl_surface_approximated_info_t &theInfo) |
| | Constructs a surface by approximating the given point grid.
|
| |
| static Surface | from_point_grid (occtl_graph_t *graph, const occtl_surface_point_grid_create_info_t &theInfo) |
| | Constructs a B-spline surface from a point grid.
|
| |
|
static Surface | from_boundary_curves (occtl_graph_t *graph, const std::vector< const Curve * > &theCurves, ::occtl_surface_filling_style_t theStyle=OCCTL_SURFACE_FILLING_STRETCH) |
| | Constructs a B-spline surface from contiguous boundary curves.
|
| |
|
static Surface | from_gordon (occtl_graph_t *graph, const std::vector< const Curve * > &theProfiles, const std::vector< const Curve * > &theGuides, const double theTolerance=1.0e-7, const bool theParallel=false) |
| | Constructs a Gordon B-spline surface from profile and guide curves.
|
| |
|
static Surface | from_curve_grid (occtl_graph_t *graph, const std::vector< const Curve * > &theUCurves, const std::vector< const Curve * > &theVCurves, const double theTolerance=1.0e-7, const bool theParallel=false) |
| | Constructs a B-spline surface from an intersecting U/V curve grid.
|
| |
Non-owning reference to a geometric surface stored in a graph.
Wraps one occtl_rep_id_t inside an occtl_graph_t*. Copying is shallow — both copies refer to the same graph representation.