Shape Decomposition and vertex

Hi,everyone.

I have found a strange fact that I cannot select the vertex alone in shape decomposition mode set to Vertex. I mean that the shape vertex itself is not decomposed into vertex so it cannot be selected as subshape in decomposition mode.

Have anyone encountered the same case?

Lee Sangsu's picture

I found the following code.

void StdSelect_BRepSelectionTool
::Load (const Handle(SelectMgr_Selection)& aSelection,
const TopoDS_Shape& aShap,
const TopAbs_ShapeEnum aType,
const Standard_Boolean AutoTriangulation,
const Standard_Integer aPriority,
const Standard_Integer NbPOnEdge,
const Standard_Real MaxParam)
{

Standard_Integer Prior = (aPriority==-1)? GetStandardPriority(aShap,aType): aPriority;

switch(aType) {
case TopAbs_VERTEX:
case TopAbs_EDGE:
case TopAbs_WIRE:
case TopAbs_FACE:
case TopAbs_SHELL:
case TopAbs_SOLID:
{
TopTools_IndexedMapOfShape subshaps;
TopExp::MapShapes(aShap,aType,subshaps);
Standard_Boolean ComesFromDecomposition(Standard_True);
if(subshaps.Extent()==1)
if(aShap==subshaps(1))
ComesFromDecomposition = Standard_False;

.....

The point is that when the number of subshape is one and the subshape is same with the shape, which is the case of the vertex, ComesFromDecomposition flag is set to FALSE. and because of this,HasSelectedShape Function does not report on the vertex.

Why this is so?