九韶内核 1.0.0.0
|
构造放样形状的类 更多...
#include <offset/MakeLoft.hpp>
Public 成员函数 | |
AMCAX_API | MakeLoft (bool isSolid=false, bool ruled=false, double pres3d=1.0e-06) |
根据参数构造放样形状 | |
AMCAX_API void | Init (bool isSolid=false, bool ruled=false, double pres3d=1.0e-06) |
初始化放样参数 | |
AMCAX_API void | AddWire (const TopoWire &wire) |
添加环 | |
AMCAX_API void | AddVertex (const TopoVertex &v) |
添加顶点 | |
AMCAX_API void | CheckCompatibility (bool check=true) |
设置是否检查兼容性 | |
AMCAX_API void | SetSmoothing (bool useSmoothing) |
设置拟合过程中是否进行光顺处理 | |
AMCAX_API void | SetParType (ApproxParameterizationType parType) |
设置参数化类型 | |
AMCAX_API void | SetContinuity (ContinuityType c) |
设置拟合中的连续性类型 | |
AMCAX_API void | SetCriterionWeight (double w1, double w2, double w3) |
设置拟合优化中的权重系数 | |
AMCAX_API void | SetMaxDegree (int maxDeg) |
设置放样曲面 U 方向上的最大次数 | |
AMCAX_API ApproxParameterizationType | ParType () const |
获取参数化类型 | |
AMCAX_API ContinuityType | Continuity () const |
获取拟合中连续性类型 | |
AMCAX_API int | MaxDegree () const |
获取放样曲面 U 方向上的最大次数 | |
AMCAX_API bool | UseSmoothing () const |
获取是否启用光顺处理的标志 | |
AMCAX_API void | CriteriumWeight (double &w1, double &w2, double &w3) const |
获取拟合优化中的权重系数 | |
AMCAX_API void | Build () override |
执行算法 | |
AMCAX_API const TopoShape & | FirstShape () const |
获取实体底部形状 | |
AMCAX_API const TopoShape & | LastShape () const |
获取实体顶部形状 | |
AMCAX_API TopoShape | GeneratedFace (const TopoShape &Edge) const |
如果是 ruled 模式,获取由边生成的面 | |
AMCAX_API void | SetMutableInput (bool isMutableInput) |
设置输入形状是否可被修改 | |
AMCAX_API const std::list< TopoShape > & | Generated (const TopoShape &S) override |
获取给定形状衍生的子形状列表 | |
AMCAX_API const std::list< TopoShape > & | Wires () const |
获取输入环 | |
![]() | |
virtual | ~MakeShape ()=default |
析构函数 | |
virtual AMCAX_API bool | IsDone () const |
判断构造算法是否完成 | |
virtual AMCAX_API const TopoShape & | Shape () |
获取结果形状 | |
AMCAX_API | operator TopoShape () |
获取结果形状 | |
virtual AMCAX_API const std::list< TopoShape > & | Modified (const TopoShape &s) |
获取给定形状修改后的形状列表 | |
virtual AMCAX_API bool | IsDeleted (const TopoShape &s) |
判断给定形状是否被删除 | |
额外继承的成员函数 | |
![]() | |
MakeShape ()=default | |
默认构造函数 | |
void | Done () |
将状态设为已完成 | |
void | NotDone () |
将状态设为未完成 | |
![]() | |
TopoShape | shape |
结果形状 | |
std::list< TopoShape > | generated |
生成的子形状列表 | |
构造放样形状的类
创建通过一系列输入形状的壳体或实体。 仅首尾形状可退化为顶点,其余必须是非退化的拓扑环(无需共面或边数相同)。 构造步骤:
|
explicit |
根据参数构造放样形状
isSolid | 实体或壳体 |
ruled | 如果为 true ,则忽略曲面光滑度和截面法向,生成可展曲面; 如果为 false ,则考虑曲面光滑度和截面法向,并通过拟合光顺结果(这可能会导致结果形状不完全通过截面) |
pres3d | 拟合容差 |
AMCAX_API void AMCAX::MakeLoft::AddVertex | ( | const TopoVertex & | v | ) |
添加顶点
v | 顶点 |
|
overridevirtual |
执行算法
重载 AMCAX::MakeShape .
AMCAX_API void AMCAX::MakeLoft::CheckCompatibility | ( | bool | check = true | ) |
设置是否检查兼容性
使各环具有相同边数,并且计算封闭环的起点和方向以避免扭曲结果
AMCAX_API void AMCAX::MakeLoft::CriteriumWeight | ( | double & | w1, |
double & | w2, | ||
double & | w3 ) const |
获取拟合优化中的权重系数
[out] | w1 | 长度权重 |
[out] | w2 | 曲率权重 |
[out] | w3 | 挠率权重 |
AMCAX_API void AMCAX::MakeLoft::Init | ( | bool | isSolid = false, |
bool | ruled = false, | ||
double | pres3d = 1.0e-06 ) |
初始化放样参数
isSolid | 实体或壳体 |
ruled | 如果为 true ,则忽略曲面光滑度和截面法向,生成可展曲面; 如果为 false ,则考虑曲面光滑度和截面法向,并通过拟合光顺结果(这可能会导致结果形状不完全通过截面) |
pres3d | 拟合容差 |
AMCAX_API void AMCAX::MakeLoft::SetContinuity | ( | ContinuityType | c | ) |
设置拟合中的连续性类型
c | 连续性类型 |
AMCAX_API void AMCAX::MakeLoft::SetCriterionWeight | ( | double | w1, |
double | w2, | ||
double | w3 ) |
设置拟合优化中的权重系数
w1 | 长度权重 |
w2 | 曲率权重 |
w3 | 挠率权重 |
AMCAX_API void AMCAX::MakeLoft::SetMaxDegree | ( | int | maxDeg | ) |
设置放样曲面 U 方向上的最大次数
maxDeg | 放样曲面 U 方向上最大次数 |
AMCAX_API void AMCAX::MakeLoft::SetMutableInput | ( | bool | isMutableInput | ) |
设置输入形状是否可被修改
isMutableInput | 输入形状是否可被修改的标志 |
AMCAX_API void AMCAX::MakeLoft::SetParType | ( | ApproxParameterizationType | parType | ) |
设置参数化类型
parType | 拟合处理中使用的参数化类型 |
AMCAX_API void AMCAX::MakeLoft::SetSmoothing | ( | bool | useSmoothing | ) |
设置拟合过程中是否进行光顺处理
useSmoothing | 是否进行光顺处理 |