AMCAX Kernel
Geometry kernel for CAD/CAE/CAM
九韶内核 1.0.0.0
载入中...
搜索中...
未找到
AMCAX::BRepTool类 参考

B-Rep 结构的工具类 更多...

#include <topology/BRepTool.hpp>

静态 Public 成员函数

static AMCAX_API void UVBounds (const TopoFace &f, double &uMin, double &uMax, double &vMin, double &vMax)
 计算面的 UV 边界
 
static AMCAX_API void UVBounds (const TopoFace &f, const TopoWire &w, double &uMin, double &uMax, double &vMin, double &vMax)
 计算面上某一环的 UV 边界
 
static AMCAX_API void UVBounds (const TopoFace &f, const TopoEdge &e, double &uMin, double &uMax, double &vMin, double &vMax)
 计算面上某一边的 UV 边界
 
static AMCAX_API void AddUVBounds (const TopoFace &f, BoundingBox2 &b)
 将面的 UV 边界添加到包围盒中
 
static AMCAX_API void AddUVBounds (const TopoFace &f, const TopoWire &w, BoundingBox2 &b)
 将面上某一环的 UV 边界添加到包围盒中
 
static AMCAX_API void AddUVBounds (const TopoFace &f, const TopoEdge &e, BoundingBox2 &b)
 将面上某一边的 UV 边界添加到包围盒中
 
static AMCAX_API void Update (const TopoVertex &v)
 更新顶点
 
static AMCAX_API void Update (const TopoEdge &e)
 更新边
 
static AMCAX_API void Update (const TopoWire &w)
 更新环
 
static AMCAX_API void Update (const TopoFace &f)
 更新面
 
static AMCAX_API void Update (const TopoShell &s)
 更新壳体
 
static AMCAX_API void Update (const TopoSolid &s)
 更新实体
 
static AMCAX_API void Update (const TopoCompSolid &c)
 更新复合实体
 
static AMCAX_API void Update (const TopoCompound &c)
 更新复合体
 
static AMCAX_API void Update (const TopoShape &s)
 更新形状
 
static AMCAX_API void UpdateFaceUVPoints (const TopoFace &f)
 更新面中所有边的 UV 点
 
static AMCAX_API void Clean (const TopoShape &s, bool force=false)
 移除形状的多边形和网格表示
 
static AMCAX_API void CleanGeometry (const TopoShape &s)
 移除形状中所有边的曲线以及所有面的曲面
 
static AMCAX_API bool HasGeometry (const TopoShape &s)
 判断形状是否包含几何元素(点、曲线或曲面)
 
static AMCAX_API void RemoveUnusedPCurves (const TopoShape &s)
 移除形状中边的参数曲线,这些参数曲线的参考曲面不属于形状中的任何面
 
static AMCAX_API bool Triangulation (const TopoShape &s, double linDefl, bool checkFreeEdges=false)
 判断形状中面的三角网格的偏差值是否小于线性偏差容差值
 
static AMCAX_API bool Compare (const TopoVertex &v1, const TopoVertex &v2)
 判断两个顶点之间的距离是否小于其容差值
 
static AMCAX_API bool Compare (const TopoEdge &e1, const TopoEdge &e2)
 判断两条边之间的距离是否小于其容差值
 
static AMCAX_API TopoWire OuterWire (const TopoFace &f)
 获取面的外环
 
static AMCAX_API void Map3DEdges (const TopoShape &s, IndexSet< TopoShape > &m)
 获取形状中所有的拓扑边(非退化边)
 
static AMCAX_API bool IsReallyClosed (const TopoEdge &e, const TopoFace &f)
 判断边在面中是否出现了两次
 
static AMCAX_API void DetectClosedness (const TopoFace &f, bool &uClosed, bool &vClosed)
 判断面在 U/V 方向上的封闭性
 
static AMCAX_API double EvalAndUpdateTol (const TopoEdge &e, const std::shared_ptr< Geom3Curve > &c3d, const std::shared_ptr< Geom2Curve > &c2d, const std::shared_ptr< Geom3Surface > &s, double first, double last)
 计算边的实际容差,如果计算结果大于当前边的容差值,则更新边的容差
 
static AMCAX_API OrientationType OriEdgeInFace (const TopoEdge &e, const TopoFace &f)
 获取边在面中的累积方向
 
static AMCAX_API void RemoveInternals (TopoShape &s, bool force=false)
 移除形状的内部子形状
 
static AMCAX_API void CheckLocations (const TopoShape &s, std::list< TopoShape > &problemShapes)
 检查形状的位置,并找出所有有问题的子形状
 

详细描述

B-Rep 结构的工具类

成员函数说明

◆ AddUVBounds() [1/3]

static AMCAX_API void AMCAX::BRepTool::AddUVBounds ( const TopoFace & f,
BoundingBox2 & b )
static

将面的 UV 边界添加到包围盒中

参数
[in]f
[in,out]b包围盒

◆ AddUVBounds() [2/3]

static AMCAX_API void AMCAX::BRepTool::AddUVBounds ( const TopoFace & f,
const TopoEdge & e,
BoundingBox2 & b )
static

将面上某一边的 UV 边界添加到包围盒中

参数
[in]f
[in]e
[in,out]b包围盒

◆ AddUVBounds() [3/3]

static AMCAX_API void AMCAX::BRepTool::AddUVBounds ( const TopoFace & f,
const TopoWire & w,
BoundingBox2 & b )
static

将面上某一环的 UV 边界添加到包围盒中

参数
[in]f
[in]w
[in,out]b包围盒

◆ CheckLocations()

static AMCAX_API void AMCAX::BRepTool::CheckLocations ( const TopoShape & s,
std::list< TopoShape > & problemShapes )
static

检查形状的位置,并找出所有有问题的子形状

如果变换包含镜像或缩放,则该子形状存在问题

参数
[in]s形状
[out]problemShapes有问题的子形状列表

◆ Clean()

static AMCAX_API void AMCAX::BRepTool::Clean ( const TopoShape & s,
bool force = false )
static

移除形状的多边形和网格表示

参数
s形状
force是否移除形状中与面无关的三角剖分多边形

◆ CleanGeometry()

static AMCAX_API void AMCAX::BRepTool::CleanGeometry ( const TopoShape & s)
static

移除形状中所有边的曲线以及所有面的曲面

参数
s形状

◆ Compare() [1/2]

static AMCAX_API bool AMCAX::BRepTool::Compare ( const TopoEdge & e1,
const TopoEdge & e2 )
static

判断两条边之间的距离是否小于其容差值

参数
e1第一条边
e2第二条边
返回
如果两个边之间的距离小于其容差值,则为 true

◆ Compare() [2/2]

static AMCAX_API bool AMCAX::BRepTool::Compare ( const TopoVertex & v1,
const TopoVertex & v2 )
static

判断两个顶点之间的距离是否小于其容差值

参数
v1第一个顶点
v2第二个顶点
返回
如果两个顶点之间的距离小于其容差值,则为 true

◆ DetectClosedness()

static AMCAX_API void AMCAX::BRepTool::DetectClosedness ( const TopoFace & f,
bool & uClosed,
bool & vClosed )
static

判断面在 U/V 方向上的封闭性

参数
[in]f
[out]uClosed如果面在 u 方向上是封闭的,则为 true
[out]vClosed如果面在 v 方向上是封闭的,则为 true

◆ EvalAndUpdateTol()

static AMCAX_API double AMCAX::BRepTool::EvalAndUpdateTol ( const TopoEdge & e,
const std::shared_ptr< Geom3Curve > & c3d,
const std::shared_ptr< Geom2Curve > & c2d,
const std::shared_ptr< Geom3Surface > & s,
double first,
double last )
static

计算边的实际容差,如果计算结果大于当前边的容差值,则更新边的容差

参数
e
c3d三维曲线
c2d参数曲线
s参考曲面
first起始参数
last结束参数
返回
实际容差值

◆ HasGeometry()

static AMCAX_API bool AMCAX::BRepTool::HasGeometry ( const TopoShape & s)
static

判断形状是否包含几何元素(点、曲线或曲面)

参数
s形状

◆ IsReallyClosed()

static AMCAX_API bool AMCAX::BRepTool::IsReallyClosed ( const TopoEdge & e,
const TopoFace & f )
static

判断边在面中是否出现了两次

参数
e
f
返回
如果边在面中出现了两次,则为 true

◆ Map3DEdges()

static AMCAX_API void AMCAX::BRepTool::Map3DEdges ( const TopoShape & s,
IndexSet< TopoShape > & m )
static

获取形状中所有的拓扑边(非退化边)

参数
[in]s形状
[out]m拓扑边集合

◆ OriEdgeInFace()

static AMCAX_API OrientationType AMCAX::BRepTool::OriEdgeInFace ( const TopoEdge & e,
const TopoFace & f )
static

获取边在面中的累积方向

参数
e
f
返回
累积方向

◆ OuterWire()

static AMCAX_API TopoWire AMCAX::BRepTool::OuterWire ( const TopoFace & f)
static

获取面的外环

参数
f
返回
外环

◆ RemoveInternals()

static AMCAX_API void AMCAX::BRepTool::RemoveInternals ( TopoShape & s,
bool force = false )
static

移除形状的内部子形状

参数
[in,out]s形状
[in]force如果为 true,则不进行连接性检查

◆ RemoveUnusedPCurves()

static AMCAX_API void AMCAX::BRepTool::RemoveUnusedPCurves ( const TopoShape & s)
static

移除形状中边的参数曲线,这些参数曲线的参考曲面不属于形状中的任何面

参数
s形状

◆ Triangulation()

static AMCAX_API bool AMCAX::BRepTool::Triangulation ( const TopoShape & s,
double linDefl,
bool checkFreeEdges = false )
static

判断形状中面的三角网格的偏差值是否小于线性偏差容差值

参数
s形状
linDefl线性偏差容差
checkFreeEdges是否检查自由边上的多边形数据
返回
如果面和边均包含偏差值小于线性偏差容差值的多边形和网格表示,则为 true

◆ Update() [1/9]

static AMCAX_API void AMCAX::BRepTool::Update ( const TopoCompound & c)
static

更新复合体

参数
c复合体

◆ Update() [2/9]

static AMCAX_API void AMCAX::BRepTool::Update ( const TopoCompSolid & c)
static

更新复合实体

参数
c复合实体

◆ Update() [3/9]

static AMCAX_API void AMCAX::BRepTool::Update ( const TopoEdge & e)
static

更新边

参数
e

◆ Update() [4/9]

static AMCAX_API void AMCAX::BRepTool::Update ( const TopoFace & f)
static

更新面

参数
f

◆ Update() [5/9]

static AMCAX_API void AMCAX::BRepTool::Update ( const TopoShape & s)
static

更新形状

参数
s形状

◆ Update() [6/9]

static AMCAX_API void AMCAX::BRepTool::Update ( const TopoShell & s)
static

更新壳体

参数
s壳体

◆ Update() [7/9]

static AMCAX_API void AMCAX::BRepTool::Update ( const TopoSolid & s)
static

更新实体

参数
s实体

◆ Update() [8/9]

static AMCAX_API void AMCAX::BRepTool::Update ( const TopoVertex & v)
static

更新顶点

参数
v顶点

◆ Update() [9/9]

static AMCAX_API void AMCAX::BRepTool::Update ( const TopoWire & w)
static

更新环

参数
w

◆ UpdateFaceUVPoints()

static AMCAX_API void AMCAX::BRepTool::UpdateFaceUVPoints ( const TopoFace & f)
static

更新面中所有边的 UV 点

参数
f

◆ UVBounds() [1/3]

static AMCAX_API void AMCAX::BRepTool::UVBounds ( const TopoFace & f,
const TopoEdge & e,
double & uMin,
double & uMax,
double & vMin,
double & vMax )
static

计算面上某一边的 UV 边界

参数
[in]f
[in]e
[out]uMinu 方向上的下限
[out]uMaxu 方向上的上限
[out]vMinv 方向上的下限
[out]vMaxv 方向上的上限

◆ UVBounds() [2/3]

static AMCAX_API void AMCAX::BRepTool::UVBounds ( const TopoFace & f,
const TopoWire & w,
double & uMin,
double & uMax,
double & vMin,
double & vMax )
static

计算面上某一环的 UV 边界

参数
[in]f
[in]w
[out]uMinu 方向上的下限
[out]uMaxu 方向上的上限
[out]vMinv 方向上的下限
[out]vMaxv 方向上的上限

◆ UVBounds() [3/3]

static AMCAX_API void AMCAX::BRepTool::UVBounds ( const TopoFace & f,
double & uMin,
double & uMax,
double & vMin,
double & vMax )
static

计算面的 UV 边界

参数
[in]f
[out]uMinu 方向上的下限
[out]uMaxu 方向上的上限
[out]vMinv 方向上的下限
[out]vMaxv 方向上的上限

该类的文档由以下文件生成: