OCC Main Page | Visualization | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

Visualization
TKV3d
StdSelect


StdSelect_BRepSelectionTool Class Reference

Tool to create specific selections (sets of primitives)
for Shapes from Topology.
These Selections may be used in dynamic selection
Mechanism
Given a Shape and a mode of selection
(selection of vertices,
edges,faces ...) , This Tool Computes corresponding sensitive primitives,
puts them in an entity called Selection (see package SelectMgr) and returns it.


A Priority for the decomposed pickable objects can be given ;
by default There is A Preset Hierachy:
Vertex priority : 5
Edge priority : 4
Wire priority : 3
Face priority : 2
Shell,solid,shape priority : 1
the default priority in the following methods has no sense - it's only taken in account
when the user gives a value between 0 and 10.
IMPORTANT : This decomposition creates BRepEntityOwner instances (from StdSelect).
which are stored in the Sensitive Entities coming from The Decomposition.

the result of picking in a ViewerSelector return EntityOwner from SelectMgr;
to know what kind of object was picked :

ENTITY_OWNER -> Selectable() gives the selectableobject which
was decomposed into pickable elements.
Handle(StdSelect_BRepOwner)::DownCast(ENTITY_OWNER) -> Shape()
gives the real picked shape (edge,vertex,shape...)

.

#include <StdSelect_BRepSelectionTool.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)

Static Public Member Functions

static Standard_EXPORT void Load (const Handle(SelectMgr_Selection)&aSelection, const TopoDS_Shape &aShape, const TopAbs_ShapeEnum aType, const Standard_Boolean AutoTriangulation=Standard_True, const Standard_Integer aPriority=-1, const Standard_Integer NbPOnEdge=9, const Standard_Real MaximalParameter=500)
 Decomposition of <ashape> into sensitive entities following
a mode of decomposition <atype>. These entities are stored in <aselection>.
BrepOwners are created to store the identity of the picked shapes
during the selection process.
In those BRepOwners is also stored the original shape.
But One can't get the selectable object which was decomposed to give
the sensitive entities.
maximal parameter is used for infinite objects, to limit the sensitive Domain....
If AutoTriangulation = True, a Triangulation will be
computed for faces which have no existing one.
if AutoTriangulation = False the old algorithm will be
called to compute sensitive entities on faces.
.
static Standard_EXPORT void Load (const Handle(SelectMgr_Selection)&aSelection, const Handle(SelectMgr_SelectableObject)&Origin, const TopoDS_Shape &aShape, const TopAbs_ShapeEnum aType, const Standard_Boolean AutoTriangulation=Standard_True, const Standard_Integer aPriority=-1, const Standard_Integer NbPOnEdge=9, const Standard_Real MaximalParameter=500)
 Same functionnalities ; the only
difference is that the selectable object from which the
selection comes is stored in each Sensitive EntityOwner;
//!decomposition of <ashape> into sensitive entities following
a mode of decomposition <atype>. These entities are stored in <aselection>
The Major difference is that the known users are first inserted in the
BRepOwners. the original shape is the last user...
(see EntityOwner from SelectBasics and BrepOwner)...
.
static Standard_EXPORT Standard_Integer GetStandardPriority (const TopoDS_Shape &aShap, const TopAbs_ShapeEnum aType)
 Returns the standard priority of the shape aShap having the type aType.
This priority is passed to a StdSelect_BRepOwner object.
You can use the function Load to modify the
selection priority of an owner to make one entity
more selectable than another one.
.
static Standard_EXPORT void ComputeSensitive (const TopoDS_Shape &aShape, const Handle(StdSelect_BRepOwner)&anOwner, const Handle(SelectMgr_Selection)&aSelection, const Standard_Integer NbPOnEdge, const Standard_Real MaximalParameter, const Standard_Boolean AutoTriangulation=Standard_True)
 Computes the sensitive primitives corresponding to
the subshape aShape with the owner anOwner.
Stores them in the SelectMgr_Selection object, and returns this object.
The number NbPOnEdge is used to define edges and wires.
In the case of infinite objects, the value
MaximalParameter serves to limit computation time
by limiting the sensitive area. The default value is 500.
If AutoTriangulation is true, triangulation will be
computed for the faces which have none. If it is false,
sensitive entities on these faces will be calculated.
.
static Standard_EXPORT Standard_Boolean GetSensitiveForFace (const TopoDS_Face &aFace, const Handle(StdSelect_BRepOwner)&anOwner, Select3D_ListOfSensitive &OutList, const Standard_Boolean AutoTriangulation=Standard_True, const Standard_Integer NbPOnEdge=9, const Standard_Real MaxiParam=500, const Standard_Boolean InteriorFlag=Standard_True)
 appends to <outlist> the 3D
sensitive entities created for selection of <aface>
if<InteriorFlag> = False the face will be sensitive only on its boundary


Static Private Member Functions

static Standard_EXPORT void GetEdgeSensitive (const TopoDS_Shape &aShape, const Handle(StdSelect_BRepOwner)&anOwner, const Handle(SelectMgr_Selection)&aSelection, const Standard_Integer NbPOnEdge, const Standard_Real MaximalParameter, Handle(Select3D_SensitiveEntity)&aSensitive)


Member Function Documentation

static Standard_EXPORT void StdSelect_BRepSelectionTool::ComputeSensitive const TopoDS_Shape &  aShape,
const Handle(StdSelect_BRepOwner)&  anOwner,
const Handle(SelectMgr_Selection)&  aSelection,
const Standard_Integer  NbPOnEdge,
const Standard_Real  MaximalParameter,
const Standard_Boolean  AutoTriangulation = Standard_True
[static]
 

static Standard_EXPORT void StdSelect_BRepSelectionTool::GetEdgeSensitive const TopoDS_Shape &  aShape,
const Handle(StdSelect_BRepOwner)&  anOwner,
const Handle(SelectMgr_Selection)&  aSelection,
const Standard_Integer  NbPOnEdge,
const Standard_Real  MaximalParameter,
Handle(Select3D_SensitiveEntity)&  aSensitive
[static, private]
 

static Standard_EXPORT Standard_Boolean StdSelect_BRepSelectionTool::GetSensitiveForFace const TopoDS_Face &  aFace,
const Handle(StdSelect_BRepOwner)&  anOwner,
Select3D_ListOfSensitive OutList,
const Standard_Boolean  AutoTriangulation = Standard_True,
const Standard_Integer  NbPOnEdge = 9,
const Standard_Real  MaxiParam = 500,
const Standard_Boolean  InteriorFlag = Standard_True
[static]
 

static Standard_EXPORT Standard_Integer StdSelect_BRepSelectionTool::GetStandardPriority const TopoDS_Shape &  aShap,
const TopAbs_ShapeEnum  aType
[static]
 

static Standard_EXPORT void StdSelect_BRepSelectionTool::Load const Handle(SelectMgr_Selection)&  aSelection,
const Handle(SelectMgr_SelectableObject)&  Origin,
const TopoDS_Shape &  aShape,
const TopAbs_ShapeEnum  aType,
const Standard_Boolean  AutoTriangulation = Standard_True,
const Standard_Integer  aPriority = -1,
const Standard_Integer  NbPOnEdge = 9,
const Standard_Real  MaximalParameter = 500
[static]
 

static Standard_EXPORT void StdSelect_BRepSelectionTool::Load const Handle(SelectMgr_Selection)&  aSelection,
const TopoDS_Shape &  aShape,
const TopAbs_ShapeEnum  aType,
const Standard_Boolean  AutoTriangulation = Standard_True,
const Standard_Integer  aPriority = -1,
const Standard_Integer  NbPOnEdge = 9,
const Standard_Real  MaximalParameter = 500
[static]
 

void StdSelect_BRepSelectionTool::operator delete void *  anAddress  )  [inline]
 

void* StdSelect_BRepSelectionTool::operator new size_t  size  )  [inline]
 

void* StdSelect_BRepSelectionTool::operator new size_t  ,
void *  anAddress
[inline]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:56:20 2008 for OpenCASCADE by  doxygen 1.4.1