ViewDesignEngine  3.1.0
高性能 CAD 计算几何引擎
nurbs_operations.h
浏览该文件的文档.
1 #pragma once
4 #include "vde/core/point.h"
5 #include <vector>
6 
7 namespace vde::curves {
8 
9 using core::Point3D;
10 using core::Vector3D;
11 
28 [[nodiscard]] NurbsSurface offset_surface(const NurbsSurface& surf, double distance);
29 
50 [[nodiscard]] NurbsSurface trim_surface(const NurbsSurface& surf,
51  double u_min, double u_max,
52  double v_min, double v_max);
53 
77 [[nodiscard]] NurbsSurface blend_surfaces(const NurbsSurface& surf_a,
78  const NurbsSurface& surf_b,
79  int edge_a, int edge_b,
80  double blend_radius);
81 
100 [[nodiscard]] NurbsSurface ruled_surface(const NurbsCurve& curve_a,
101  const NurbsCurve& curve_b);
102 
126 [[nodiscard]] NurbsSurface coons_patch(const NurbsCurve& curve_u0,
127  const NurbsCurve& curve_u1,
128  const NurbsCurve& curve_v0,
129  const NurbsCurve& curve_v1);
130 
148 [[nodiscard]] NurbsSurface extrude_curve(const NurbsCurve& curve,
149  const Vector3D& direction,
150  double length);
151 
168 [[nodiscard]] NurbsCurve extract_boundary_curve(const NurbsSurface& surf, int edge);
169 
170 } // namespace vde::curves
NURBS 曲线(Non-Uniform Rational B-Spline)
Definition: nurbs_curve.h:26
NURBS 张量积曲面
Definition: nurbs_surface.h:24
double distance(const Point3D &a, const Point3D &b)
两点之间的欧氏距离
NurbsCurve extract_boundary_curve(const NurbsSurface &surf, int edge)
提取 NURBS 曲面的等参边界曲线
NurbsSurface coons_patch(const NurbsCurve &curve_u0, const NurbsCurve &curve_u1, const NurbsCurve &curve_v0, const NurbsCurve &curve_v1)
由四条边界曲线创建 Coons 曲面
NurbsSurface extrude_curve(const NurbsCurve &curve, const Vector3D &direction, double length)
沿方向向量拉伸 NURBS 曲线为曲面
NurbsSurface ruled_surface(const NurbsCurve &curve_a, const NurbsCurve &curve_b)
两 NURBS 曲线间的直纹面
NurbsSurface offset_surface(const NurbsSurface &surf, double distance)
NURBS 曲面等距偏移
NurbsSurface blend_surfaces(const NurbsSurface &surf_a, const NurbsSurface &surf_b, int edge_a, int edge_b, double blend_radius)
两 NURBS 曲面沿边界边的过渡面
NurbsSurface trim_surface(const NurbsSurface &surf, double u_min, double u_max, double v_min, double v_max)
NURBS 曲面参数域裁剪
foundation::Vector3D Vector3D
双精度三维向量(重新导出)
Definition: point.h:49
foundation::Point3D Point3D
双精度三维点(重新导出)
Definition: point.h:31