# OCC.Select3D module

class `Handle_Select3D_ListNodeOfListOfSensitive`(*args)

  Bases: `OCC.TCollection.Handle_TCollection_MapNode`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_Select3D_ListNodeOfListOfSensitiveTriangle`(*args)

  Bases: `OCC.TCollection.Handle_TCollection_MapNode`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_Select3D_Projector`(*args)

  Bases: `OCC.Standard.Handle_Standard_Transient`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_Select3D_SensitiveBox`(*args)

  Bases: `OCC.Select3D.Handle_Select3D_SensitiveEntity`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_Select3D_SensitiveCircle`(*args)

  Bases: `OCC.Select3D.Handle_Select3D_SensitivePoly`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_Select3D_SensitiveCurve`(*args)

  Bases: `OCC.Select3D.Handle_Select3D_SensitivePoly`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_Select3D_SensitiveEntity`(*args)

  Bases: `OCC.SelectBasics.Handle_SelectBasics_SensitiveEntity`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_Select3D_SensitiveFace`(*args)

  Bases: `OCC.Select3D.Handle_Select3D_SensitivePoly`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_Select3D_SensitiveGroup`(*args)

  Bases: `OCC.Select3D.Handle_Select3D_SensitiveEntity`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_Select3D_SensitivePoint`(*args)

  Bases: `OCC.Select3D.Handle_Select3D_SensitiveEntity`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_Select3D_SensitivePoly`(*args)

  Bases: `OCC.Select3D.Handle_Select3D_SensitiveEntity`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_Select3D_SensitiveSegment`(*args)

  Bases: `OCC.Select3D.Handle_Select3D_SensitiveEntity`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_Select3D_SensitiveTriangle`(*args)

  Bases: `OCC.Select3D.Handle_Select3D_SensitivePoly`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_Select3D_SensitiveWire`(*args)

  Bases: `OCC.Select3D.Handle_Select3D_SensitiveEntity`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_Select3D_SequenceNodeOfSensitiveEntitySequence`(*args)

  Bases: `OCC.TCollection.Handle_TCollection_SeqNode`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Select3D_Box2d`(*args)

  Bases: `object`

  Return type: | None
  Parameters: | theBox (Bnd_Box2d &) –
  Return type: | None

  `IsVoid`()

    Return type: | inline bool

  `Set`()

    Parameters: | theBox (Bnd_Box2d &) –
    Return type: | inline Select3D_Box2d

  `SetVoid`()

    Return type: | inline void

  `Update`()

    Parameters: | thePnt (gp_Pnt2d) –
    Return type: | inline void

  `thisown`

    The membership flag

  `xmax`
  `xmin`
  `ymax`
  `ymin`

class `Select3D_ListIteratorOfListOfSensitive`(*args)

  Bases: `object`

  Return type: | None
  Parameters: | L (Select3D_ListOfSensitive &) –
  Return type: | None

  `Initialize`()

    Parameters: | L (Select3D_ListOfSensitive &) –
    Return type: | None

  `More`()

    Return type: | bool

  `Next`()

    Return type: | None

  `Value`()

    Return type: | Handle_Select3D_SensitiveEntity

  `thisown`

    The membership flag

class `Select3D_ListIteratorOfListOfSensitiveTriangle`(*args)

  Bases: `object`

  Return type: | None
  Parameters: | L (Select3D_ListOfSensitiveTriangle &) –
  Return type: | None

  `Initialize`()

    Parameters: | L (Select3D_ListOfSensitiveTriangle &) –
    Return type: | None

  `More`()

    Return type: | bool

  `Next`()

    Return type: | None

  `Value`()

    Return type: | Handle_Select3D_SensitiveTriangle

  `thisown`

    The membership flag

class `Select3D_ListNodeOfListOfSensitive`(*args)

  Bases: `OCC.TCollection.TCollection_MapNode`

  Parameters: | I (Handle_Select3D_SensitiveEntity &) – n (TCollection_MapNodePtr &) –
  Return type: | None

  `GetHandle`()
  `Value`()

    Return type: | Handle_Select3D_SensitiveEntity

  `thisown`

    The membership flag

class `Select3D_ListNodeOfListOfSensitiveTriangle`(*args)

  Bases: `OCC.TCollection.TCollection_MapNode`

  Parameters: | I (Handle_Select3D_SensitiveTriangle &) – n (TCollection_MapNodePtr &) –
  Return type: | None

  `GetHandle`()
  `Value`()

    Return type: | Handle_Select3D_SensitiveTriangle

  `thisown`

    The membership flag

class `Select3D_ListOfSensitive`(*args)

  Bases: `object`

  Return type: | None
  Parameters: | Other (Select3D_ListOfSensitive &) –
  Return type: | None

  `Append`()

    Parameters: | I (Handle_Select3D_SensitiveEntity &) – I – theIt (Select3D_ListIteratorOfListOfSensitive &) – Other (Select3D_ListOfSensitive &) –
    Return type: | None
    Return type: | None
    Return type: | None

  `Assign`()

    Parameters: | Other (Select3D_ListOfSensitive &) –
    Return type: | None

  `Clear`()

    Return type: | None

  `Extent`()

    Return type: | int

  `First`()

    Return type: | Handle_Select3D_SensitiveEntity

  `InsertAfter`()

    Parameters: | I (Handle_Select3D_SensitiveEntity &) – It (Select3D_ListIteratorOfListOfSensitive &) – Other (Select3D_ListOfSensitive &) – It –
    Return type: | None
    Return type: | None

  `InsertBefore`()

    Parameters: | I (Handle_Select3D_SensitiveEntity &) – It (Select3D_ListIteratorOfListOfSensitive &) – Other (Select3D_ListOfSensitive &) – It –
    Return type: | None
    Return type: | None

  `IsEmpty`()

    Return type: | bool

  `Last`()

    Return type: | Handle_Select3D_SensitiveEntity

  `Prepend`()

    Parameters: | I (Handle_Select3D_SensitiveEntity &) – I – theIt (Select3D_ListIteratorOfListOfSensitive &) – Other (Select3D_ListOfSensitive &) –
    Return type: | None
    Return type: | None
    Return type: | None

  `Remove`()

    Parameters: | It (Select3D_ListIteratorOfListOfSensitive &) –
    Return type: | None

  `RemoveFirst`()

    Return type: | None

  `Set`()

    Parameters: | Other (Select3D_ListOfSensitive &) –
    Return type: | None

  `thisown`

    The membership flag

class `Select3D_ListOfSensitiveTriangle`(*args)

  Bases: `object`

  Return type: | None
  Parameters: | Other (Select3D_ListOfSensitiveTriangle &) –
  Return type: | None

  `Append`()

    Parameters: | I (Handle_Select3D_SensitiveTriangle &) – I – theIt (Select3D_ListIteratorOfListOfSensitiveTriangle &) – Other (Select3D_ListOfSensitiveTriangle &) –
    Return type: | None
    Return type: | None
    Return type: | None

  `Assign`()

    Parameters: | Other (Select3D_ListOfSensitiveTriangle &) –
    Return type: | None

  `Clear`()

    Return type: | None

  `Extent`()

    Return type: | int

  `First`()

    Return type: | Handle_Select3D_SensitiveTriangle

  `InsertAfter`()

    Parameters: | I (Handle_Select3D_SensitiveTriangle &) – It (Select3D_ListIteratorOfListOfSensitiveTriangle &) – Other (Select3D_ListOfSensitiveTriangle &) – It –
    Return type: | None
    Return type: | None

  `InsertBefore`()

    Parameters: | I (Handle_Select3D_SensitiveTriangle &) – It (Select3D_ListIteratorOfListOfSensitiveTriangle &) – Other (Select3D_ListOfSensitiveTriangle &) – It –
    Return type: | None
    Return type: | None

  `IsEmpty`()

    Return type: | bool

  `Last`()

    Return type: | Handle_Select3D_SensitiveTriangle

  `Prepend`()

    Parameters: | I (Handle_Select3D_SensitiveTriangle &) – I – theIt (Select3D_ListIteratorOfListOfSensitiveTriangle &) – Other (Select3D_ListOfSensitiveTriangle &) –
    Return type: | None
    Return type: | None
    Return type: | None

  `Remove`()

    Parameters: | It (Select3D_ListIteratorOfListOfSensitiveTriangle &) –
    Return type: | None

  `RemoveFirst`()

    Return type: | None

  `Set`()

    Parameters: | Other (Select3D_ListOfSensitiveTriangle &) –
    Return type: | None

  `thisown`

    The membership flag

class `Select3D_Pnt`(*args, **kwargs)

  Bases: `object`

  `Set`()

    Parameters: | thePnt (gp_Pnt) –
    Return type: | inline gp_Pnt

  `thisown`

    The membership flag

  `x`
  `y`
  `z`

class `Select3D_Pnt2d`(*args, **kwargs)

  Bases: `object`

  `Set`()

    Parameters: | thePnt (gp_Pnt2d) –
    Return type: | inline gp_Pnt2d

  `thisown`

    The membership flag

  `x`
  `y`

class `Select3D_PointData`(*args)

  Bases: `object`

  Parameters: | theNbPoints (int) –
  Return type: | None

  `Pnt`()

    Parameters: | theIndex (int) –
    Return type: | Select3D_Pnt

  `Pnt2d`()

    Parameters: | theIndex (int) –
    Return type: | Select3D_Pnt2d

  `SetPnt`()

    Parameters: | theIndex (int) – theValue (gp_Pnt) – theIndex – theValue –
    Return type: | None
    Return type: | None

  `SetPnt2d`()

    Parameters: | theIndex (int) – theValue (gp_Pnt2d) – theIndex – theValue –
    Return type: | None
    Return type: | None

  `Size`()

    Return type: | int

  `thisown`

    The membership flag

class `Select3D_Projector`(*args)

  Bases: `OCC.Standard.Standard_Transient`

  - Constructs the 3D projector object from the passed view. The projector captures current model-view and projection transformation of the passed view.

  Parameters: | theView (Handle_V3d_View &) –
  Return type: | None

  - Constructs identity projector.

  Return type: | None

  - Builds the Projector from the model-view transformation specified by the passed viewing coordinate system <theCS>. The Projector has identity projection transformation, is orthogonal. The viewing coordinate system could be constructed from x direction, view plane normal direction, and view point location in world-coordinate space.

  Parameters: | theCS (gp_Ax2) –
  Return type: | None

  - Builds the Projector from the model-view transformation specified by the passed view coordinate system <theCS> and simplified perspective projection transformation defined by <theFocus> parameter. The viewing coordinate system could be constructed from x direction, view plane normal direction, and focal point location in world-coordinate space. <theFocus> should represent distance of an eye from view plane in world-coordinate space (focal distance).

  Parameters: | theCS (gp_Ax2) – theFocus (float) –
  Return type: | None

  - Build the Projector from the model-view transformation passed as <theViewTrsf> and simplified perspective projection transformation parameters passed as <theIsPersp> and <theFocus>. In case, when <theViewTrsf> transformation should represent custom view projection, it could be constructed from two separate components: transposed view orientation matrix and translation of focal point in view-coordinate system. <theViewTrsf> could be built up from x direction, up direction, view plane normal direction vectors and translation with SetValues(...) method, where first row arguments (a11, a12, a13, a14) are x, y, z component of x direction vector, and x value of reversed translation vector. Second row arguments, are x y z for up direction and y value of reversed translation, and the third row defined in the same manner. This also suits for simple perspective view, where <theFocus> is the focale distance of an eye from view plane in world-space coordinates. Note, that in that case amount of perspective distortion (perspective angle) should be defined through focal distance.

  Parameters: | theViewTrsf (gp_Trsf) – theIsPersp (bool) – theFocus (float) –
  Return type: | None

  - Builds the Projector from the model-view transformation passed as <theViewTrsf> and projection transformation for <theIsPersp> and <theFocus> parameters. In case, when <theViewTrsf> transformation should represent custom view projection, it could be constructed from two separate components: transposed view orientation matrix and translation of a focal point in view-coordinate system. This also suits for perspective view, with <theFocus> that could be equal to distance from an eye to a view plane in world-coordinates (focal distance). The 3x3 transformation matrix is built up from three vectors: x direction, up direction and view plane normal vectors, where each vector is a matrix row. Then <theViewTrsf> is constructed from matrix and reversed translation with methods SetTranslationPart(..) and SetVectorialPart(..). Note, that in that case amount of perspective distortion (perspective angle) should be defined through focal distance.

  Parameters: | theViewTrsf (gp_GTrsf) – theIsPersp (bool) – theFocus (float) –
  Return type: | None

  - Builds the Projector from the passed model-view <theViewTrsf> and projection <theProjTrsf> transformation matrices.

  Parameters: | theViewTrsf (Graphic3d_Mat4d &) – theProjTrsf (Graphic3d_Mat4d &) –
  Return type: | None

  `Focus`()
    - Returns the focal length of simplified perspective projection approach. Raises program error exception if the the projection transformation is not specified as simplified Perspective (for example, custom projection transformation is defined or the orthogonal Projector is defined).

    Return type: | float

  `FullTransformation`()
    - Returns the uniform-scaled view transformation.

    Return type: | gp_Trsf

  `GetHandle`()
  `InvertedTransformation`()
    - Returns the inverted view transformation.

    Return type: | gp_GTrsf

  `Perspective`()
    - Returns True if there is simplified perspective projection approach is used. Distortion defined by Focus.

    Return type: | bool

  `Project`()
    - Transforms the point into view-coordinate space and applies projection transformation.

    Parameters: | theP (gp_Pnt) – thePout (gp_Pnt2d) –
    Return type: | void

    - Transforms the point into view-coordinate space and applies projection transformation.

    Parameters: | theP (gp_Pnt) – theX (float &) – theY (float &) – theZ (float &) –
    Return type: | None

    - Transforms the point and vector passed from its location into view-coordinate space and applies projection transformation.

    Parameters: | theP (gp_Pnt) – theD1 (gp_Vec) – thePout (gp_Pnt2d) – theD1out (gp_Vec2d) –
    Return type: | void

  `Projection`()
    - Returns projection transformation. Please note that for simplified perspective projection approach, defined by Focus, the returned transformation is identity.

    Return type: | Graphic3d_Mat4d

  `Scaled`()
    - Pre-compute inverse transformation and ensure whether it is possible to use optimized transformation for the common view-orientation type or not if <theToCheckOptimized> is True.

    Parameters: | theToCheckOptimized (bool) – default value is Standard_False
    Return type: | void

  `Set`()
    - Sets new parameters for the Projector.

    Parameters: | theViewTrsf (gp_Trsf) – theIsPersp (bool) – theFocus (float) –
    Return type: | None

    - Sets new parameters for the Projector.

    Parameters: | theViewTrsf (Graphic3d_Mat4d &) – theProjTrsf (Graphic3d_Mat4d &) –
    Return type: | None

  `SetView`()
    - Sets new parameters for the Projector captured from the passed view.

    Parameters: | theView (Handle_V3d_View &) –
    Return type: | None

  `Shoot`()
    - Return projection line going through the 2d point <theX, theY>

    Parameters: | theX (float) – theY (float) –
    Return type: | gp_Lin

  `Transform`()
    - Transforms the vector into view-coordinate space.

    Parameters: | theD (gp_Vec) –
    Return type: | None

    - Transforms the point into view-coordinate space.

    Parameters: | thePnt (gp_Pnt) – thePnt – theTrsf (gp_GTrsf) – theLin (gp_Lin) – theTrsf –
    Return type: | None
    Return type: | None
    Return type: | None

  `Transformation`()
    - Returns the view transformation.

    Return type: | gp_GTrsf

  `thisown`

    The membership flag

class `Select3D_SensitiveBox`(*args)

  Bases: `OCC.Select3D.Select3D_SensitiveEntity`

  - Constructs a sensitive box object defined by the owner OwnerId, and the bounding box BoundingBox.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – BoundingBox (Bnd_Box &) –
  Return type: | None

  - Constructs a sensitive box object defined by the owner OwnerId, and the coordinates Xmin, YMin, ZMin, XMax, YMax, ZMax. Xmin, YMin and ZMin define the minimum point in the front lower left hand corner of the box, and XMax, YMax and ZMax define the maximum point in the back upper right hand corner of the box.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – XMin (float) – YMin (float) – ZMin (float) – XMax (float) – YMax (float) – ZMax (float) –
  Return type: | None

  `Box`()
    - Returns the sensitive 3D box used at the time of construction.

    Return type: | Bnd_Box

  `ComputeDepth`()

    Parameters: | EyeLine (gp_Lin) –
    Return type: | float

  `GetHandle`()
  `Matches`()
    - Checks whether the sensitive entity matches the picking detection area (close to the picking line). For details please refer to base class declaration.

    Parameters: | thePickArgs (SelectBasics_PickArgs &) – theMatchDMin (float &) – theMatchDepth (float &) – XMin (float) – YMin (float) – XMax (float) – YMax (float) – aTol (float) – Polyline (TColgp_Array1OfPnt2d) – aBox (Bnd_Box2d &) – aTol –
    Return type: | bool
    Return type: | bool
    Return type: | bool

  `thisown`

    The membership flag

class `Select3D_SensitiveCircle`(*args)

  Bases: `OCC.Select3D.Select3D_SensitivePoly`

  - Constructs the sensitive circle object defined by the owner OwnerId, the circle Circle, the Boolean FilledCircle and the number of points NbOfPoints.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – TheCircle (Handle_Geom_Circle &) – FilledCircle (bool) – default value is Standard_False NbOfPoints (int) – default value is 6
  Return type: | None

  - Constructs the sensitive arc object defined by the owner OwnerId, the circle Circle, the parameters u1 and u2, the Boolean FilledCircle and the number of points NbOfPoints. u1 and u2 define the first and last points of the arc on Circle.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – TheCircle (Handle_Geom_Circle &) – u1 (float) – u2 (float) – FilledCircle (bool) – default value is Standard_False NbOfPoints (int) – default value is 6
  Return type: | None

  - Constructs the sensitive circle object defined by the owner OwnerId, the array of triangles apolyg3d, and the Boolean FilledCircle. apolyg3d is an array of consecutive triangles on the circle. The triangle i+1 lies on the intersection of the tangents to the circle of i and i+2. Note, that the first point of apolyg3d must be equal to the last point of apolyg3d.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – apolyg3d (Handle_TColgp_HArray1OfPnt) – FilledCircle (bool) – default value is Standard_False
  Return type: | None

  - Constructs the sensitive circle object defined by the owner OwnerId, the array of points apolyg3d, and the Boolean FilledCircle. If the length of apolyg3d is more then 1, the first point of apolyg3d must be equal to the last point of apolyg3d.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – apolyg3d (TColgp_Array1OfPnt) – FilledCircle (bool) – default value is Standard_False
  Return type: | None

  `ArrayBounds`()

    Parameters: | Low (int &) – Up (int &) –
    Return type: | None

  `ComputeDepth`()
    - Compute depth of sensitive circle for the detected sub-part. @param thePickLine [in] the picking line. @param theDetectedIndex [in] index of the detected sub-part. returns depth on the picking line.

    Parameters: | thePickLine (gp_Lin) – theDetectedIndex (int) –
    Return type: | float

  `GetHandle`()
  `GetPoint3d`()

    Parameters: | rank (int) –
    Return type: | gp_Pnt

  `Matches`()
    - Checks whether the sensitive entity matches the picking detection area (close to the picking line). For details please refer to base class declaration.

    Parameters: | thePickArgs (SelectBasics_PickArgs &) – theMatchDMin (float &) – theMatchDepth (float &) – XMin (float) – YMin (float) – XMax (float) – YMax (float) – aTol (float) – Polyline (TColgp_Array1OfPnt2d) – aBox (Bnd_Box2d &) – aTol –
    Return type: | bool
    Return type: | bool
    Return type: | bool

  `thisown`

    The membership flag

class `Select3D_SensitiveCurve`(*args)

  Bases: `OCC.Select3D.Select3D_SensitivePoly`

  - Constructs a sensitive curve object defined by the owner OwnerId, the curve TheCurve, and the maximum number of points on the curve: MaxPoints.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – TheCurve (Handle_Geom_Curve &) – MaxPoints (int) – default value is 17
  Return type: | None

  - Constructs a sensitive curve object defined by the owner OwnerId and the set of points ThePoints.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – ThePoints (Handle_TColgp_HArray1OfPnt) –
  Return type: | None

  - Creation of Sensitive Curve from Points. Warning : This Method should disappear in the next version...

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – ThePoints (TColgp_Array1OfPnt) –
  Return type: | None

  `ComputeDepth`()
    - Compute depth of sensitive circle for the detected sub-part. @param thePickLine [in] the picking line. @param theDetectedIndex [in] index of the detected sub-part. returns depth on the picking line.

    Parameters: | thePickLine (gp_Lin) – theDetectedIndex (int) –
    Return type: | float

  `GetHandle`()
  `GetLastDetected`()
    - Gets index of last detected segment

    Return type: | int

  `Matches`()
    - Checks whether the sensitive entity matches the picking detection area (close to the picking line). For details please refer to base class declaration.

    Parameters: | thePickArgs (SelectBasics_PickArgs &) – theMatchDMin (float &) – theMatchDepth (float &) – XMin (float) – YMin (float) – XMax (float) – YMax (float) – aTol (float) – Polyline (TColgp_Array1OfPnt2d) – aBox (Bnd_Box2d &) – aTol –
    Return type: | bool
    Return type: | bool
    Return type: | bool

  `thisown`

    The membership flag

class `Select3D_SensitiveEntity`(*args, **kwargs)

  Bases: `OCC.SelectBasics.SelectBasics_SensitiveEntity`

  `Dump`()
    - 2 options : <FullDump> = False -> general information <FullDump> = True -> whole informtion 3D +2d ...

    Parameters: | S (Standard_OStream &) – FullDump (bool) – default value is Standard_True
    Return type: | void

  static `DumpBox`(*args)

    Parameters: | S (Standard_OStream &) – abox (Bnd_Box2d &) –
    Return type: | void

  `GetConnected`()
    - Originally this method intended to return sensitive entity with new location aLocation, but currently sensitive entities do not hold a location, instead HasLocation() and Location() methods call corresponding entity owner’s methods. Thus all entities returned by GetConnected() share the same location propagated from corresponding selectable object. You must redefine this function for any type of sensitive entity which can accept another connected sensitive entity.//can be connected to another sensitive entity.

    Parameters: | aLocation (TopLoc_Location &) –
    Return type: | Handle_Select3D_SensitiveEntity

  `GetHandle`()
  `HasLocation`()
    - Returns true if this framework has a location defined.

    Return type: | bool

  `Location`()

    Return type: | TopLoc_Location

  `Matches`()
    - Matches the box defined by the coordinates Xmin, Ymin, Xmax, Ymax with the entity found at that point within the tolerance aTol. Xmin, YMin define the minimum point in the lower left hand corner of the box, and XMax, YMax define the maximum point in the upper right hand corner of the box. You must redefine this function for every inheriting entity. You will have to call this framework inside the redefined function.

    Parameters: | XMin (float) – YMin (float) – XMax (float) – YMax (float) – aTol (float) –
    Return type: | bool

    - prevents from hiding virtual methods...

    Parameters: | Polyline (TColgp_Array1OfPnt2d) – aBox (Bnd_Box2d &) – aTol (float) –
    Return type: | bool

  `Project`()
    - In classes inheriting this framework, you must redefine this function in order to get a sensitive 2D rectangle from a 3D entity. This rectangle is the sensitive zone which makes the 3D entity selectable.

    Parameters: | aProjector (Handle_Select3D_Projector &) –
    Return type: | void

  `ResetLocation`()
    - sets the location to Identity

    Return type: | void

  `SetLocation`()

    Parameters: | aLoc (TopLoc_Location &) –
    Return type: | void

  `UpdateLocation`()

    Parameters: | aLoc (TopLoc_Location &) –
    Return type: | None

  `thisown`

    The membership flag

class `Select3D_SensitiveEntitySequence`(*args)

  Bases: `OCC.TCollection.TCollection_BaseSequence`

  Return type: | None
  Parameters: | Other (Select3D_SensitiveEntitySequence &) –
  Return type: | None

  `Append`()

    Parameters: | T (Handle_Select3D_SensitiveEntity &) – S (Select3D_SensitiveEntitySequence &) –
    Return type: | None
    Return type: | None

  `Assign`()

    Parameters: | Other (Select3D_SensitiveEntitySequence &) –
    Return type: | Select3D_SensitiveEntitySequence

  `ChangeValue`()

    Parameters: | Index (int) –
    Return type: | Handle_Select3D_SensitiveEntity

  `Clear`()

    Return type: | None

  `First`()

    Return type: | Handle_Select3D_SensitiveEntity

  `InsertAfter`()

    Parameters: | Index (int) – T (Handle_Select3D_SensitiveEntity &) – Index – S (Select3D_SensitiveEntitySequence &) –
    Return type: | None
    Return type: | None

  `InsertBefore`()

    Parameters: | Index (int) – T (Handle_Select3D_SensitiveEntity &) – Index – S (Select3D_SensitiveEntitySequence &) –
    Return type: | None
    Return type: | None

  `Last`()

    Return type: | Handle_Select3D_SensitiveEntity

  `Prepend`()

    Parameters: | T (Handle_Select3D_SensitiveEntity &) – S (Select3D_SensitiveEntitySequence &) –
    Return type: | None
    Return type: | None

  `Remove`()

    Parameters: | Index (int) – FromIndex (int) – ToIndex (int) –
    Return type: | None
    Return type: | None

  `Set`()

    Parameters: | Other (Select3D_SensitiveEntitySequence &) –
    Return type: | Select3D_SensitiveEntitySequence

  `SetValue`()

    Parameters: | Index (int) – I (Handle_Select3D_SensitiveEntity &) –
    Return type: | None

  `Split`()

    Parameters: | Index (int) – Sub (Select3D_SensitiveEntitySequence &) –
    Return type: | None

  `Value`()

    Parameters: | Index (int) –
    Return type: | Handle_Select3D_SensitiveEntity

  `thisown`

    The membership flag

`Select3D_SensitiveEntity_DumpBox`(*args)

  Parameters: | S (Standard_OStream &) – abox (Bnd_Box2d &) –
  Return type: | void

class `Select3D_SensitiveFace`(*args)

  Bases: `OCC.Select3D.Select3D_SensitivePoly`

  - Constructs a sensitive face object defined by the owner OwnerId, the array of points ThePoints, and the sensitivity type Sensitivity. The array of points is the outer polygon of the geometric face.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – ThePoints (TColgp_Array1OfPnt) – Sensitivity (Select3D_TypeOfSensitivity) – default value is Select3D_TOS_INTERIOR
  Return type: | None

  - Constructs a sensitive face object defined by the owner OwnerId, the array of points ThePoints, and the sensitivity type Sensitivity. The array of points is the outer polygon of the geometric face.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – ThePoints (Handle_TColgp_HArray1OfPnt) – Sensitivity (Select3D_TypeOfSensitivity) – default value is Select3D_TOS_INTERIOR
  Return type: | None

  `ComputeDepth`()
    - Computes the depth values for all 3D points defining this face and returns the minimal value among them. If the ‘minimal depth’ approach is not suitable and gives wrong detection results in some particular case, a custom sensitive face class can redefine this method.

    Parameters: | thePickLine (gp_Lin) – theDepthMin (float) – theDepthMax (float) –
    Return type: | float

  `GetHandle`()
  `Matches`()
    - Checks whether the sensitive entity matches the picking detection area (close to the picking line). For details please refer to base class declaration.

    Parameters: | thePickArgs (SelectBasics_PickArgs &) – theMatchDMin (float &) – theMatchDepth (float &) – XMin (float) – YMin (float) – XMax (float) – YMax (float) – aTol (float) – Polyline (TColgp_Array1OfPnt2d) – aBox (Bnd_Box2d &) – aTol –
    Return type: | bool
    Return type: | bool
    Return type: | bool

  `thisown`

    The membership flag

class `Select3D_SensitiveGroup`(*args)

  Bases: `OCC.Select3D.Select3D_SensitiveEntity`

  - Constructs an empty sensitive group object. This is a set of sensitive 3D entities. The sensitive entities will be defined using the function Add to fill the entity owner OwnerId. If MatchAll is false, nothing can be added.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – MatchAll (bool) – default value is Standard_True
  Return type: | None

  - Constructs a sensitive group object defined by the list TheList and the entity owner OwnerId. If MatchAll is false, nothing is done.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – TheList (Select3D_ListOfSensitive &) – MatchAll (bool) – default value is Standard_True
  Return type: | None

  `Add`()
    - Adds the list of sensitive entities LL to the empty sensitive group object created at construction time.

    Parameters: | LL (Select3D_ListOfSensitive &) –
    Return type: | None

    - Adds the sensitive entity aSensitive to the non-empty sensitive group object created at construction time.

    Parameters: | aSensitive (Handle_Select3D_SensitiveEntity &) –
    Return type: | None

  `Clear`()
    - Removes all sensitive entities from the list used at the time of construction, or added using the function Add.

    Return type: | None

  `GetEntities`()
    - Gets group content

    Return type: | Select3D_ListOfSensitive

  `GetHandle`()
  `IsIn`()
    - Returns true if the sensitive entity aSensitive is in the list used at the time of construction, or added using the function Add.

    Parameters: | aSensitive (Handle_Select3D_SensitiveEntity &) –
    Return type: | bool

  `Matches`()
    - Checks whether the sensitive entity matches the picking detection area (close to the picking line). For details please refer to base class declaration.

    Parameters: | thePickArgs (SelectBasics_PickArgs &) – theMatchDMin (float &) – theMatchDepth (float &) – XMin (float) – YMin (float) – XMax (float) – YMax (float) – aTol (float) – Polyline (TColgp_Array1OfPnt2d) – aBox (Bnd_Box2d &) – aTol –
    Return type: | bool
    Return type: | bool
    Return type: | bool

  `MustMatchAll`()
    - Returns true if all sensitive entities in the list used at the time of construction, or added using the function Add must be matched.

    Return type: | bool

  `Remove`()

    Parameters: | aSensitive (Handle_Select3D_SensitiveEntity &) –
    Return type: | None

  `Set`()
    - Sets the requirement that all sensitive entities in the list used at the time of construction, or added using the function Add must be matched.

    Parameters: | MustMatchAllEntities (bool) –
    Return type: | None

    - Sets the owner for all entities in group

    Parameters: | TheOwnerId (Handle_SelectBasics_EntityOwner &) –
    Return type: | None

  `thisown`

    The membership flag

class `Select3D_SensitivePoint`(*args)

  Bases: `OCC.Select3D.Select3D_SensitiveEntity`

  - Constructs a sensitive point object defined by the owner OwnerId and the point Point.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – Point (gp_Pnt) –
  Return type: | None

  `ComputeDepth`()

    Parameters: | EyeLine (gp_Lin) –
    Return type: | float

  `GetHandle`()
  `Matches`()
    - Checks whether the sensitive entity matches the picking detection area (close to the picking line). For details please refer to base class declaration.

    Parameters: | thePickArgs (SelectBasics_PickArgs &) – theMatchDMin (float &) – theMatchDepth (float &) – XMin (float) – YMin (float) – XMax (float) – YMax (float) – aTol (float) – Polyline (TColgp_Array1OfPnt2d) – aBox (Bnd_Box2d &) – aTol –
    Return type: | bool
    Return type: | bool
    Return type: | bool

  `Point`()
    - Returns the point used at the time of construction.

    Return type: | gp_Pnt

  `thisown`

    The membership flag

class `Select3D_SensitivePoly`(*args, **kwargs)

  Bases: `OCC.Select3D.Select3D_SensitiveEntity`

  `GetHandle`()
  `Points2D`()
    - Returns the 2D points of the array used at construction time.

    Parameters: | theArrayOfPnt2d (TColgp_Array1OfPnt2d) –
    Return type: | None

  `Points3D`()
    - Returns the 3D points of the array used at construction time.

    Parameters: | theHArrayOfPnt (Handle_TColgp_HArray1OfPnt) –
    Return type: | None

  `thisown`

    The membership flag

class `Select3D_SensitiveSegment`(*args)

  Bases: `OCC.Select3D.Select3D_SensitiveEntity`

  - Constructs the sensitive segment object defined by the owner OwnerId, the points FirstP, LastP and the maximum number of sensitive bounding boxes MaxRect.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – FirstP (gp_Pnt) – LastP (gp_Pnt) – MaxRect (int) – default value is 1
  Return type: | None

  `ComputeDepth`()

    Parameters: | EyeLine (gp_Lin) –
    Return type: | float

  `EndPoint`()
    - changes the end point of the segment

    Parameters: | aPt (gp_Pnt) –
    Return type: | None

    - gives the 3D End Point of the Segment

    Return type: | gp_Pnt

  `EndPoint2d`()
    - gives the 3D End Point of the Segment

    Return type: | gp_Pnt2d

  `GetHandle`()
  `Matches`()
    - Checks whether the sensitive entity matches the picking detection area (close to the picking line). For details please refer to base class declaration.

    Parameters: | thePickArgs (SelectBasics_PickArgs &) – theMatchDMin (float &) – theMatchDepth (float &) – XMin (float) – YMin (float) – XMax (float) – YMax (float) – aTol (float) – Polyline (TColgp_Array1OfPnt2d) – aBox (Bnd_Box2d &) – aTol –
    Return type: | bool
    Return type: | bool
    Return type: | bool

  `Set`()
    - Sets the maximum number of sensitive rectangles MaxRect.

    Parameters: | MaxRect (int) –
    Return type: | None

  `StartPoint`()
    - changes the start Point of the Segment;

    Parameters: | aPt (gp_Pnt) –
    Return type: | None

    - gives the 3D start Point of the Segment

    Return type: | gp_Pnt

  `StartPoint2d`()
    - gives the 3D start Point of the Segment

    Return type: | gp_Pnt2d

  `thisown`

    The membership flag

class `Select3D_SensitiveTriangle`(*args)

  Bases: `OCC.Select3D.Select3D_SensitivePoly`

  - Constructs a sensitive triangle object defined by the owner OwnerId, the points P1, P2, P3, and the type of sensitivity Sensitivity.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – P1 (gp_Pnt) – P2 (gp_Pnt) – P3 (gp_Pnt) – Sensitivity (Select3D_TypeOfSensitivity) – default value is Select3D_TOS_INTERIOR
  Return type: | None

  `Center2D`()
    - WARNING : the returned Values are the original values without the stored location (if there’s one). To get the genuine value, One must apply this location (Method Location() )

    Return type: | gp_XY

  `Center3D`()
    - Returns the center point of the sensitive triangle created at construction time.

    Return type: | gp_Pnt

  `ComputeDepth`()

    Parameters: | EyeLine (gp_Lin) –
    Return type: | float

  `GetHandle`()
  `Matches`()
    - Checks whether the sensitive entity matches the picking detection area (close to the picking line). For details please refer to base class declaration.

    Parameters: | thePickArgs (SelectBasics_PickArgs &) – theMatchDMin (float &) – theMatchDepth (float &) – XMin (float) – YMin (float) – XMax (float) – YMax (float) – aTol (float) – Polyline (TColgp_Array1OfPnt2d) – aBox (Bnd_Box2d &) – aTol –
    Return type: | bool
    Return type: | bool
    Return type: | bool

  `Points3D`()
    - Returns the 3D points P1, P2, P3 used at the time of construction.

    Parameters: | P1 (gp_Pnt) – P2 (gp_Pnt) – P3 (gp_Pnt) –
    Return type: | None

  static `Status`(*args)

    Parameters: | X (float) – Y (float) – aTol (float) – Dmin (float &) –
    Return type: | int

    - Dmin gives the distance between the cdg and aPoint return

    Parameters: | p0 (gp_XY) – p1 (gp_XY) – p2 (gp_XY) – aPoint (gp_XY) – aTol (float) – Dmin (float &) –
    Return type: | int

  `thisown`

    The membership flag

`Select3D_SensitiveTriangle_Status`(*args)

  Parameters: | X (float) – Y (float) – aTol (float) – Dmin (float &) –
  Return type: | int

  - Dmin gives the distance between the cdg and aPoint return

  Parameters: | p0 (gp_XY) – p1 (gp_XY) – p2 (gp_XY) – aPoint (gp_XY) – aTol (float) – Dmin (float &) –
  Return type: | int

class `Select3D_SensitiveWire`(*args)

  Bases: `OCC.Select3D.Select3D_SensitiveEntity`

  - Constructs a sensitive wire object defined by the owner OwnerId, and the maximum number of sensitive rectangles MaxRect.

  Parameters: | OwnerId (Handle_SelectBasics_EntityOwner &) – MaxRect (int) – default value is 1
  Return type: | None

  `Add`()
    - Adds the sensitive entity aSensitive to this framework.

    Parameters: | aSensitive (Handle_Select3D_SensitiveEntity &) –
    Return type: | None

  `GetEdges`()
    - returns the sensitive edges stored in this wire

    Parameters: | theEdges (Select3D_SensitiveEntitySequence &) –
    Return type: | None

  `GetHandle`()
  `GetLastDetected`()
    - returns <mymaxrect>

    Return type: | Handle_Select3D_SensitiveEntity

  `Matches`()
    - Checks whether the sensitive entity matches the picking detection area (close to the picking line). For details please refer to base class declaration.

    Parameters: | thePickArgs (SelectBasics_PickArgs &) – theMatchDMin (float &) – theMatchDepth (float &) – XMin (float) – YMin (float) – XMax (float) – YMax (float) – aTol (float) – Polyline (TColgp_Array1OfPnt2d) – aBox (Bnd_Box2d &) – aTol –
    Return type: | bool
    Return type: | bool
    Return type: | bool

  `thisown`

    The membership flag

class `Select3D_SequenceNodeOfSensitiveEntitySequence`(*args)

  Bases: `OCC.TCollection.TCollection_SeqNode`

  Parameters: | I (Handle_Select3D_SensitiveEntity &) – n (TCollection_SeqNodePtr &) – p (TCollection_SeqNodePtr &) –
  Return type: | None

  `GetHandle`()
  `Value`()

    Return type: | Handle_Select3D_SensitiveEntity

  `thisown`

    The membership flag

class `SwigPyIterator`(*args, **kwargs)

  Bases: `object`

  `advance`()
  `copy`()
  `decr`()
  `distance`()
  `equal`()
  `incr`()
  `next`()
  `previous`()
  `thisown`

    The membership flag

  `value`()

`register_handle`(handle, base_object)

  Inserts the handle into the base object to prevent memory corruption in certain cases