|
| static SdfNodePtr | sphere (double r) |
| | 创建球体节点 更多...
|
| |
| static SdfNodePtr | box (const Point3D &half_extents) |
| | 创建轴对齐长方体节点 更多...
|
| |
| static SdfNodePtr | round_box (const Point3D &half_extents, double r) |
| | 创建圆角长方体节点 更多...
|
| |
| static SdfNodePtr | cylinder (double r, double h) |
| | 创建圆柱体节点 更多...
|
| |
| static SdfNodePtr | torus (double major_r, double minor_r) |
| | 创建圆环体节点 更多...
|
| |
| static SdfNodePtr | capsule (const Point3D &a, const Point3D &b, double r) |
| | 创建胶囊体节点 更多...
|
| |
| static SdfNodePtr | cone (double angle_rad, double h) |
| | 创建圆锥台节点 更多...
|
| |
| static SdfNodePtr | plane (const Vector3D &normal, double offset) |
| | 创建平面节点 更多...
|
| |
| static SdfNodePtr | ellipsoid (const Point3D &radii) |
| | 创建椭球体节点 更多...
|
| |
| static SdfNodePtr | triangular_prism (double h) |
| | 创建三角棱柱节点 更多...
|
| |
| static SdfNodePtr | hex_prism (double h) |
| | 创建六棱柱节点 更多...
|
| |
| static SdfNodePtr | link (double r, double length, double thickness) |
| | 创建双环链接节点 更多...
|
| |
| static SdfNodePtr | wedge (const Point3D &extents) |
| | 创建楔形体节点 更多...
|
| |
| static SdfNodePtr | op_union (SdfNodePtr a, SdfNodePtr b) |
| | 创建并集节点: A ∪ B 更多...
|
| |
| static SdfNodePtr | op_intersection (SdfNodePtr a, SdfNodePtr b) |
| | 创建交集节点: A ∩ B 更多...
|
| |
| static SdfNodePtr | op_difference (SdfNodePtr a, SdfNodePtr b) |
| | 创建差集节点: A \ B 更多...
|
| |
| static SdfNodePtr | smooth_union (SdfNodePtr a, SdfNodePtr b, double k) |
| | 创建平滑并集节点 更多...
|
| |
| static SdfNodePtr | smooth_intersection (SdfNodePtr a, SdfNodePtr b, double k) |
| | 创建平滑交集节点 更多...
|
| |
| static SdfNodePtr | smooth_difference (SdfNodePtr a, SdfNodePtr b, double k) |
| | 创建平滑差集节点 更多...
|
| |
| static SdfNodePtr | round (SdfNodePtr child, double r) |
| | 创建圆角偏移节点 更多...
|
| |
| static SdfNodePtr | onion (SdfNodePtr child, double thickness) |
| | 创建壳层修饰节点 更多...
|
| |
| static SdfNodePtr | repeat (SdfNodePtr child, const Point3D &cell) |
| | 创建周期重复节点 更多...
|
| |
| static SdfNodePtr | mirror_x (SdfNodePtr child) |
| | 创建 X 镜像节点 更多...
|
| |
| static SdfNodePtr | mirror_y (SdfNodePtr child) |
| | 创建 Y 镜像节点 更多...
|
| |
| static SdfNodePtr | mirror_z (SdfNodePtr child) |
| | 创建 Z 镜像节点 更多...
|
| |
| static SdfNodePtr | translate (SdfNodePtr child, const Point3D &offset) |
| | 创建平移节点 更多...
|
| |
| static SdfNodePtr | rotate (SdfNodePtr child, double angle_rad) |
| | 创建旋转节点(绕 Y 轴) 更多...
|
| |
| static SdfNodePtr | scale (SdfNodePtr child, const Point3D &factors) |
| | 创建缩放节点 更多...
|
| |
| static SdfNodePtr | twist (SdfNodePtr child, double amount) |
| | 创建扭曲节点 更多...
|
| |
| static SdfNodePtr | bend (SdfNodePtr child, double amount) |
| | 创建弯曲节点 更多...
|
| |
| static SdfNodePtr | elongate (SdfNodePtr child, const Point3D &h) |
| | 创建拉伸节点 更多...
|
| |
| static SdfNodePtr | cheap_bend (SdfNodePtr child, double amount) |
| | 创建简化弯曲节点 更多...
|
| |
| static SdfNodePtr | displace (SdfNodePtr child, double amplitude, double frequency) |
| | 创建位移扰动节点 更多...
|
| |
SDF 表达式树节点
每个节点包含:
op: 操作类型
params: 参数值
children: 子节点列表(CSG 布尔 = 2 个子节点,修饰/变形 = 1 个,图元 = 0 个)
name: 可选名称(调试用)
使用 make_shared<SdfNode>(op) 或静态工厂方法创建节点。 所有工厂方法返回 SdfNodePtr(shared_ptr),自动管理生命周期。
- 注解
- 树是不可变的——节点创建后 op 和子节点关系不变,但 params 可被外部修改以支持参数优化。
在文件 sdf_tree.h 第 138 行定义.