AnyCAD Rapid API 2023
Help you to create a better world!
载入中...
搜索中...
未找到
ShapeExplor类 参考

Public 成员函数

double GetTolerance ()
 
void SetTolerance (double val)
 
GBBox GetBoundingBox ()
 
boolean AddShape (TopoShape shape)
 
void Build ()
 
long GetFaceCount ()
 
ParametricSurface GetFace (long faceIdx)
 
GBBox GetFaceBBox (long faceIdx)
 
long GetEdgeCountOfFace (long faceIdx)
 
ParametricCurve GetEdgeOfFace (long faceIdx, long edgeIdx)
 
long GetEdgeCount ()
 
ParametricCurve GetEdge (long idx)
 
long GetFaceOfEdge (long idx)
 
boolean IsEdgeOnFace (long edgeIdx, long faceIdx)
 
Uint32List FindSiblingFaces (long edgeIdx, Uint32List candidateFaceIds)
 
Uint32List FindSiblingFaces (long edgeIdx)
 
int IsSiblingEdges (long edgeIdxA, long edgeIdxB)
 
EdgeVertex GetStartVertexOfEdge (long edgeIdx)
 
EdgeVertex GetEndVertexOfEdge (long edgeIdx)
 
long GetVertexCount ()
 
EdgeVertex GetVertex (long vertexIdx)
 
Uint32List GetConnectedVertices (long vertexIdx)
 

详细描述

<>
辅助类用来高效地遍历边和面的几何拓扑关系

成员函数说明

◆ AddShape()

boolean ShapeExplor.AddShape ( TopoShape  shape)

添加几何对象,必须为面、体、复合体

参数
shape几何对象
返回
若为点、边,则返回失败

◆ Build()

void ShapeExplor.Build ( )

构建关系。

◆ FindSiblingFaces() [1/2]

Uint32List ShapeExplor.FindSiblingFaces ( long  edgeIdx)

从所有的面中查找边的邻面

参数
edgeIdx边的索引,区间[0, GetEdgeCount())
返回
邻面的索引列表

◆ FindSiblingFaces() [2/2]

Uint32List ShapeExplor.FindSiblingFaces ( long  edgeIdx,
Uint32List  candidateFaceIds 
)

查找边的邻面

参数
edgeIdx边的索引,区间[0, GetEdgeCount())
candidateFaceIds候选的面的索引列表
返回
邻面的索引列表

◆ GetConnectedVertices()

Uint32List ShapeExplor.GetConnectedVertices ( long  vertexIdx)

获取与顶点相链接的点的列表

参数
vertexIdx顶点索引
返回
顶点索引列表

◆ GetEdge()

ParametricCurve ShapeExplor.GetEdge ( long  idx)

获取边的参数表达

参数
idx边的索引, 区间[0, GetEdgeCount())
返回
参数表达

◆ GetEdgeCount()

long ShapeExplor.GetEdgeCount ( )

获取边的个数

返回
边个数

◆ GetEdgeCountOfFace()

long ShapeExplor.GetEdgeCountOfFace ( long  faceIdx)

获取某个面包含的边的数量

参数
faceIdx面的索引
返回
边的数量

◆ GetEdgeOfFace()

ParametricCurve ShapeExplor.GetEdgeOfFace ( long  faceIdx,
long  edgeIdx 
)

获取边的参数表达

参数
faceIdx面的索引
edgeIdx边在面上的索引, 区间[0, GetEdgeCountOfFace())
返回
参数表达

◆ GetEndVertexOfEdge()

EdgeVertex ShapeExplor.GetEndVertexOfEdge ( long  edgeIdx)

获取边的终点信息

参数
edgeIdx边,区间[0, GetEdgeCount())
返回
顶点信息

◆ GetFace()

ParametricSurface ShapeExplor.GetFace ( long  faceIdx)

获取面的参数表达

参数
faceIdx面的索引,区间[0, GetFaceCount())
返回
参数表达

◆ GetFaceBBox()

GBBox ShapeExplor.GetFaceBBox ( long  faceIdx)

获取面的包围盒

参数
faceIdx面的索引
返回
包围盒

◆ GetFaceCount()

long ShapeExplor.GetFaceCount ( )

获取面的个数

返回
个数

◆ GetFaceOfEdge()

long ShapeExplor.GetFaceOfEdge ( long  idx)

获取边所在的面的索引

参数
idx边的索引,区间[0, GetEdgeCount())
返回
面的索引

◆ GetStartVertexOfEdge()

EdgeVertex ShapeExplor.GetStartVertexOfEdge ( long  edgeIdx)

获取边的起点信息

参数
edgeIdx边,区间[0, GetEdgeCount())
返回
顶点信息

◆ GetVertex()

EdgeVertex ShapeExplor.GetVertex ( long  vertexIdx)

获取顶点信息

参数
vertexIdx顶点索引 [0, GetVertexCount())
返回
顶点信息

◆ GetVertexCount()

long ShapeExplor.GetVertexCount ( )

获取顶的个数

返回
顶点数量

◆ IsEdgeOnFace()

boolean ShapeExplor.IsEdgeOnFace ( long  edgeIdx,
long  faceIdx 
)

判断某条边是否在某个面上

参数
edgeIdx边的索引 ,区间[0, GetEdgeCount())
faceIdx面的索引
返回
true则在面上

◆ IsSiblingEdges()

int ShapeExplor.IsSiblingEdges ( long  edgeIdxA,
long  edgeIdxB 
)

判断两条边是否为临边

返回
0: Not, otherwise Yes: 1: A-end B-start 2: A-end B-end 3: A-start B-end 4: A-start B-start