# OCC.NIS module

class `Handle_NIS_Allocator`(*args)

  Bases: `object`

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

    The membership flag

class `Handle_NIS_InteractiveContext`(*args)

  Bases: `OCC.Standard.Handle_Standard_Transient`

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

    The membership flag

class `Handle_NIS_InteractiveObject`(*args)

  Bases: `OCC.Standard.Handle_Standard_Transient`

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

    The membership flag

class `Handle_NIS_SelectFilter`(*args)

  Bases: `OCC.Standard.Handle_Standard_Transient`

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

    The membership flag

class `Handle_NIS_Surface`(*args)

  Bases: `OCC.NIS.Handle_NIS_InteractiveObject`

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

    The membership flag

class `Handle_NIS_SurfaceDrawer`(*args)

  Bases: `object`

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

    The membership flag

class `Handle_NIS_TriangulatedDrawer`(*args)

  Bases: `object`

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

    The membership flag

class `Handle_NIS_View`(*args)

  Bases: `OCC.V3d.Handle_V3d_View`

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

    The membership flag

class `NIS_Allocator`(*args)

  Bases: `object`

  - /** * Constructor. */

  Parameters: | theBlockSize (size_t) – default value is 24600
  Return type: | None

  `Allocate`()
    - /** * Allocate memory with given size. Returns NULL on failure */

    Parameters: | size (size_t) –
    Return type: | void *

  `Free`()

    Parameters: | anAddress (void *) –
    Return type: | void

  `GetHandle`()
  `NAllocated`()
    - /** * Query the total number of allocated bytes */

    Return type: | inline Standard_Size

  `NFreed`()
    - /** * Query the total number of released bytes */

    Return type: | inline Standard_Size

  `ResetCounters`()
    - /** * Set both counters to zero. Should be called with method Reset of the base * class NCollection_IncAlocator. */

    Return type: | None

  `thisown`

    The membership flag

class `NIS_InteractiveContext`(*args)

  Bases: `OCC.Standard.Standard_Transient`

  - /** * Empty constructor. */

  Return type: | None

  `AttachView`()
    - ///@name Management of Views/** * Associate this Context with the given View. */

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

  `ClearSelected`()
    - /** * Reset all previous selection. */

    Return type: | None

  `DetachView`()
    - /** * Stop the association of the Context with the given View. */

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

  `Display`()
    - ///@name Management of Objects/** * Make the given interactive object visible in the current context. * If the object is not yet added to this context, it is added. Therefore * this method should follow the creation of an InteractiveObject instance * before it can be displayed. * @param theObj * <tt>[in/out]</tt>Interactive object instance. If the object is displayed * for the first time then the output value will be a new (cloned) object. * @param theDrawer * If this parameter is NULL, the default drawer is used for theObj, defined * by the object type. Otherwise the given Drawer (must be present in this * context) is used for theObj. Use the parameter to change the presentation * of theObj. * @param isUpdateViews * If True, the drawer receives isUpdate flag, then it will recompute * the presentations when Redraw event happens. You can leave the parameter * to False if you have to make a number of similar calls, then you would * call UpdateViews() in the end. */

    Parameters: | theObj (Handle_NIS_InteractiveObject &) – theDrawer (Handle_NIS_Drawer &) – default value is NULL isUpdateViews (bool) – default value is Standard_True
    Return type: | None

  `DisplayAll`()
    - /** * Make all stored InteractiveObject instances visible, equivalent to * calling method Display() for all contained objects. */

    Return type: | None

  `DisplayOnTop`()
    - /** * Make the given interactive object visible on top of other objects in * the current context. * If the object is not yet added to this context, it is added. Therefore * this method should follow the creation of an InteractiveObject instance * before it can be displayed. * @param theObj * Interactive object instance. * @param theDrawer * If this parameter is NULL, the default drawer is used for theObj, defined * by the object type. Otherwise the given Drawer (must be present in this * context) is used for theObj. Use the parameter to change the presentation * of theObj. * @param isUpdateViews * If True, the drawer receives isUpdate flag, then it will recompute * the presentations when Redraw event happens. You can leave the parameter * to False if you have to make a number of similar calls, then you would * call UpdateViews() in the end. */

    Parameters: | theObj (Handle_NIS_InteractiveObject &) – theDrawer (Handle_NIS_Drawer &) – default value is NULL isUpdateViews (bool) – default value is Standard_True
    Return type: | None

  `Erase`()
    - /** * Make the given object invisible in the current InteractiveContext. * @param theObj * Interactive object instance. Must be already added to this context. * @param isUpdateViews * If True, the drawer receives isUpdate flag, then it will recompute * the presentations when Redraw event happens. You can leave the parameter * to False if you have to make a number of similar calls, then you would * call UpdateViews() in the end. */

    Parameters: | theObj (Handle_NIS_InteractiveObject &) – isUpdateViews (bool) – default value is Standard_True
    Return type: | None

  `EraseAll`()
    - /** * Make all stored InteractiveObject instances invisible, equivalent to * calling method Erase() for all contained objects. */

    Return type: | None

  `GetBox`()
    - /** * Find the bounding box of all Objects displayed (visible) in the given View. * @param theBox * <tt>[out]</tt> Bounding box, updated (not reinitialized!) by the object * boxes. * @param theView * View instance where the objects are displayed. */

    Parameters: | theBox (Bnd_B3f &) – theView (NIS_View *) –
    Return type: | None

  `GetDrawers`()
    - /** * Access to Drawers, can be used for specific operations where it is not * desirale to iterate InteractiveObjects. */

    Return type: | inline NCollection_Map<Handle_NIS_Drawer>::Iterator

  `GetFilter`()
    - ///@name Selection API/** * Query the current selection filter. Use the method SetFilter to install it. * By default returns a NULL handle. */

    Return type: | inline Handle_NIS_SelectFilter

  `GetHandle`()
  `GetObject`()
    - /** * Query the InteractiveObject instance by its ID. */

    Parameters: | theID (int) –
    Return type: | Handle_NIS_InteractiveObject

  `GetSelected`()
    - /** * Query the set of selected objects. * returns * Map of integer IDs of objects. */

    Return type: | inline TColStd_PackedMapOfInteger

  `GetSelectionMode`()
    - /** * Query the current selection mode. */

    Return type: | inline SelectionMode

  `IsSelectable`()
    - /** * Return True if the object can be selected (processing by SetSelected * methods), or False if can not be. * returns * Selectable state of the object. */

    Parameters: | objID (int) –
    Return type: | inline bool

  `IsSelected`()
    - /** * Query if the given object is selected. */

    Parameters: | theOb (Handle_NIS_InteractiveObject &) –
    Return type: | bool

  `Mode_Additive` = 2
  `Mode_Exclusive` = 3
  `Mode_NoSelection` = 0
  `Mode_Normal` = 1
  `NbDrawers`()
    - /** * Query the total number of Drawers instances. */

    Return type: | inline int

  `NbObjects`()
    - /** * Query the total number of InteractiveObject instances. This number can be * smaller than the greatest object ID, therefore you should not iterate till * this number using GetObject; use class NIS_ObjectsIterator instead. */

    Return type: | inline int

  `ProcessSelection`()
    - /** * Set or unset the selected state of the object, also changing its hilight status. * If mySelectionMode == Mode_NoSelection this method does nothing (returns False always). * If the given object is NULL (e.g., if the mouse was clicked on empty area), * then the current selection is cleared (modes Normal and Additive only). * The selection algorithm with respect to the given object is defined by the current selection mode: * <ul> * <li>Mode_Normal - the selection state is toggled</li> * <li>Mode_Additive - the object is always added to the selection</li> * <li>Mode_Exclusive - the object is always removed from the selection</li> * </ul> * This method does not update the views. * @param O * Object to be selected or deselected * @param isMultiple * If True, then the objects are not automatically deselected. * returns * True if the selection status has been changed, False if nothing changed */

    Parameters: | O (Handle_NIS_InteractiveObject &) – isMultiple (bool) – default value is Standard_False
    Return type: | bool

    - /** * Process the selection of multiple objects. Equivalent to the other * ProcessSelection method, on a set of objects. Particularly, the current * selection mode is respected. * @param map * Container of IDs of objects to be processed * @param isMultiple * If True, then the objects are not automatically deselected. */

    Parameters: | map (TColStd_PackedMapOfInteger &) – isMultiple (bool) – default value is Standard_False
    Return type: | None

  `RebuildViews`()
    - /** * Similar to UpdateViews but forces all presentations to be rebuilt whether * the drawers are marked as updated or not. */

    Return type: | None

  `Remove`()
    - /** * Remove the given object from its Interactive context. * @param theObj * Interactive object instance. Must be already added to this context. * @param isUpdateViews * If True, the drawer receives isUpdate flag, then it will recompute * the presentations when Redraw event happens. You can leave the parameter * to False if you have to make a number of similar calls, then you would * call UpdateViews() in the end. */

    Parameters: | theObj (Handle_NIS_InteractiveObject &) – isUpdateViews (bool) – default value is Standard_True
    Return type: | None

  `RemoveAll`()
    - /** * Clean the context of its contained objects. Drawers are destroyed * and all presentations become empty. */

    Return type: | None

  `SetFilter`()
    - /** * Install a selection filter. */

    Parameters: | theFilter (Handle_NIS_SelectFilter &) –
    Return type: | inline void

  `SetSelectable`()
    - /** * Define objects that can be selected by no means (isSelectable = false), * or make the objects selectable (isSelectable = true). * @param IDs * Container of IDs of objects to be set as selectable or not selectable * @param isSelectable * If False, the given IDs are made non-selectable by SetSelected methods, * If True, the given IDs are made selectable. */

    Parameters: | IDs (TColStd_PackedMapOfInteger &) – isSelectable (bool) –
    Return type: | None

  `SetSelected`()
    - /** * Set or unset the selected state of the object, also changing its hilight status. * This method does not update the views. * @param theObj * Object to be selected or deselected * @param isSelected * true if the object should be selected, False - if deselected. * returns * True if the selection status has been changed, False if noithing changed */

    Parameters: | theObj (Handle_NIS_InteractiveObject &) – isSelected (bool) – default value is Standard_True
    Return type: | bool

    - /** * Set the selection. Previously selected objects are deselected if they * are not included in the given map. * @param map * Container of IDs of objects to be selected * @param isAdded * If True, the given IDs are added to the current selection (nothing is * deselected). If False (default) - the previous selection is forgotten. */

    Parameters: | map (TColStd_PackedMapOfInteger &) – isAdded (bool) – default value is Standard_False
    Return type: | None

  `SetSelectionMode`()
    - /** * Set the selection mode. */

    Parameters: | theMode (SelectionMode) –
    Return type: | inline void

  `SetShareDrawList`()
    - /** * Set or reset the flag that tells to NIS_Drawer to create shared DrawList. * The default mode (in Constructor) is True. */

    Parameters: | isShare (bool) –
    Return type: | inline void

  `UpdateViews`()
    - /** * This method signals that the presenation should be refreshed in all updated * Drawers and in all Views. Calls Redraw() of each view from inside. */

    Return type: | None

  `thisown`

    The membership flag

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

  Bases: `OCC.Standard.Standard_Transient`

  `Clone`()
    - /** * Create a copy of theObject except its ID. * @param theAll * Allocator where the Dest should store its private data. * @param theDest * <tt>[in-out]</tt> The target object where the data are copied. */

    Parameters: | theAll (Handle_NCollection_BaseAllocator &) – theDest (Handle_NIS_InteractiveObject &) –
    Return type: | void

  `CloneWithID`()
    - /** * The same as Clone() but also copies the ID. */

    Parameters: | & (Handle_NIS_InteractiveObject) – & –
    Return type: | None

  `DefaultDrawer`()
    - /** * Create a default drawer instance. In the upper-level call (in subclass) * it is always called with NULL parameter. Then it should call the same * method of the superclass (except for NIS_InteractiveObject superclass type) * with the created Drawer instance as parameter. * @see NIS_Triangulated as example. */

    Parameters: | theDrv (NIS_Drawer *) –
    Return type: | NIS_Drawer *

  `DrawType`()
    - /** * Query the type of presentation. */

    Return type: | inline NIS_Drawer::DrawType

  `GetAttribute`()
    - /** * Query the associated custom (arbitrary) attribute pointer. */

    Return type: | inline void *

  `GetBox`()
    - /** * Query a 3D bounding box of the object. */

    Return type: | Bnd_B3f

  `GetDrawer`()
    - /** * Query the current drawer. */

    Return type: | inline Handle_NIS_Drawer

  `GetHandle`()
  `ID`()
    - /** * Query the ID of the Object in its Context. */

    Return type: | inline int

  `Intersect`()
    - /** * Intersect the InteractiveObject geometry with a line/ray. * @param theAxis * The line or ray in 3D space. * @param theOver * Half-thickness of the selecting line. * returns * If the return value is more than 0.1*RealLast() then no intersection is * detected. Otherwise returns the coordinate of thePnt on the ray. May be * negative. */

    Parameters: | theAxis (gp_Ax1) – theOver (float) –
    Return type: | float

    - /** * Intersect the InteractiveObject geometry with an oriented box. * The default implementation (in this abstract class) always returns True, * signalling that every object pre-selected by its bounding box is * automatically selected. The specializations should define a more correct behaviour. * The algorithm should transform the InteractiveObject geometry using the * parameter theTrf and then reject it with box theBox, like: * @code * gp_Pnt aPnt = ….. // aPnt is part of our geometry. * if (!theBox.IsOut (aPnt.Transformed(theTrf))) * return Standard_True; * @endcode * @param theBox * 3D box of selection * @param theTrf * Position/Orientation of the box. It coincides with theTrfInv that is * passed to NIS_InteractiveObject::selectObjects(). * @param isFull * True if full inclusion is required (full inside the tested box) for * the positive result, False - if only partial inclusion give a result. * returns * True if the InteractiveObject geometry intersects the box or is inside it */

    Parameters: | theBox (Bnd_B3f &) – theTrf (gp_Trsf) – isFull (bool) –
    Return type: | bool

    - /** * Intersect the InteractiveObject geometry with a selection polygon. * The default implementation (in this abstract class) always returns True, * signalling that every object pre-selected by its bounding box is * automatically selected. The specializations should define a more correct behaviour. * The algorithm should transform the InteractiveObject geometry using the * parameter theTrf and then reject it with polygon. * @param thePolygon * the list of vertices of a free-form closed polygon without * self-intersections. The last point should not coincide with the first * point of the list. Any two neighbor points should not be confused. * @param theTrf * Position/Orientation of the polygon. It coincides with theTrfInv that is * passed to NIS_InteractiveContext::selectObjects(). * @param isFull * True if full inclusion is required (full inside the tested box) for * the positive result, False - if only partial inclusion give a result. * returns * True if the InteractiveObject geometry intersects the polygon or is inside it */

    Parameters: | thePolygon (NCollection_List<gp_XY>) – theTrf (gp_Trsf) – isFull (bool) –
    Return type: | bool

  `IsDisplayed`()
    - /** * Query the Displayed state - opposite to IsHidden(). */

    Return type: | inline bool

  `IsDynHilighted`()
    - /** * Query the Dynamic Hilight state */

    Return type: | inline bool

  `IsHidden`()
    - /** * Query the Hidden state */

    Return type: | inline bool

  `IsSelectable`()
    - /** * Query if the Object is selectable. */

    Return type: | bool

  `IsTransparent`()
    - /** * Query the Transparent state. */

    Return type: | inline bool

  `SetAttribute`()
    - /** * Set the pointer to custom (arbitrary) data associated with the Object. */

    Parameters: | theAttributePtr (void *) –
    Return type: | inline void

  `SetDrawer`()
    - /** * Replace the drawer. This method must not be called for Object that * has not yet been added to a Context (thus has empty drawer). * It is possible to have unassigned myDrawer or a DefaultDrawer as the * parameter value (but not both). The Context where we work is taken * from theDrawer first, then (if NULL) – from myDrawer. * This method matches theDrawer with the available Drawers in the Context * and adds if no match is found. * returns * Reference to the finally stored or found Drawer instance inside * the Context. */

    Parameters: | theDrawer (Handle_NIS_Drawer &) – setUpdated (bool) – default value is Standard_True
    Return type: | Handle_NIS_Drawer

  `SetSelectable`()
    - /** * Set or change the selectable state of the Object. * @param isSel * True (default) - the Object will be selectable, False - it will be * ignored by selection/hilighting algorithms. */

    Parameters: | isSel (bool) – default value is Standard_True
    Return type: | void

  `SetTransparency`()
    - /** * Set the Transparency factor. */

    Parameters: | theValue (float) – default value is 0.6
    Return type: | None

  `Transparency`()
    - /** * Query the Transparency factor. */

    Return type: | inline Standard_ShortReal

  `UnsetTransparency`()
    - /** * Present the Object as opaque (Normal draw type). */

    Return type: | inline void

  `thisown`

    The membership flag

class `NIS_ObjectsIterator`(*args)

  Bases: `object`

  - /** * Empty Constructor. */

  Return type: | None

  - /** * Constructor. * @param theCtx * Interactive context that is to be iterated for all objects. */

  Parameters: | theCtx (Handle_NIS_InteractiveContext &) –
  Return type: | None

  `Initialize`()
    - /** * Reset the Iterator to start the iterations of objects. * @param theCtx * Interactive context that is to be iterated for all objects. */

    Parameters: | theCtx (Handle_NIS_InteractiveContext &) –
    Return type: | None

  `More`()
    - /** * Query if the Iterator has an object (not yet finished the iteration * process). */

    Return type: | inline bool

  `Next`()
    - /** * Step forward to the next valid InteractiveObject instance. */

    Return type: | None

  `Value`()
    - /** * Returns the current object at the iteration pointer. If the iteration is * over (More() == False) this method returns NULL Handle. */

    Return type: | Handle_NIS_InteractiveObject

  `thisown`

    The membership flag

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

  Bases: `OCC.Standard.Standard_Transient`

  `ActsOn`()
    - /** * Check if the type of InteractiveObject is allowed for selection. * Default implementation returns always True. * returns * True if objects of the given Type should be checked, False if such * objects are excluded from Selection before any checking. */

    Parameters: | theType (Handle_Standard_Type &) –
    Return type: | bool

  `GetHandle`()
  `IsOk`()
    - /** * Indicate that the given NIS_InteractiveObject passes the Filter. * returns * True - theObject is kept in the Selection, False - excluded from it. */

    Parameters: | theObject (NIS_InteractiveObject *) –
    Return type: | bool

  `thisown`

    The membership flag

class `NIS_Surface`(*args)

  Bases: `OCC.NIS.NIS_InteractiveObject`

  - /** * Constructor */

  Parameters: | theTri (Handle_Poly_Triangulation &) – theAlloc (Handle_NCollection_BaseAllocator &) – default value is 0L
  Return type: | None

  - /** * Constructor. Creates the presentation of all faces in ‘theShape’ object. * @param theShape * Source geometry. It should contain triangulations inside. * @param theDeflection * Absolute deflection for meshing ‘theShape’ if such meshing is needed. * @param theAl * Allocator used for nodes and triangles in this presentation. */

  Parameters: | theShape (TopoDS_Shape &) – theDeflection (float) – theAl (Handle_NCollection_BaseAllocator &) – default value is 0L
  Return type: | None

  `Clear`()
    - /** * Deallocate all internal data structures. */

    Return type: | None

  `Edge`()
    - /** * Access to array of integers that represents an Edge. * returns * Pointer to array where the 0th element is the number of nodes in the edge * and the elements starting from the 1st are node indices. */

    Parameters: | theIndex (int) –
    Return type: | inline int *

  `GetDisplayMode`()
    - /** * Query the current display mode: Shading or Wireframe. */

    Return type: | DisplayMode

  `GetHandle`()
  `Init`()
    - /** * Initialize the instance with a TopoDS_Shape. Used in constructor but can * be called any time to redefine the geometry. */

    Parameters: | theShape (TopoDS_Shape &) – theDefl (float) –
    Return type: | None

  `Intersect`()
    - /** * Intersect the surface shading/wireframe geometry with a line/ray. * @param theAxis * The line or ray in 3D space. * @param theOver * Half-thickness of the selecting line - ignored. * returns * If the return value is more than 0.1*RealLast() then no intersection is * detected. Otherwise returns the coordinate of the nearest intersection * on the ray. May be negative. */

    Parameters: | theAxis (gp_Ax1) – theOver (float) –
    Return type: | float

    - /** * Intersect the surface shading/wireframe geometry with an oriented box. * @param theBox * 3D box of selection * @param theTrf * Position/Orientation of the box. * @param isFull * True if full inclusion is required, False - if partial. * returns * True if the InteractiveObject geometry intersects the box or is inside it */

    Parameters: | theBox (Bnd_B3f &) – theTrf (gp_Trsf) – isFull (bool) –
    Return type: | bool

    - /** * Intersect the surface shading/wireframe geometry with a selection polygon. * @param thePolygon * the list of vertices of a free-form closed polygon without * self-intersections. The last point should not coincide with the first * point of the list. Any two neighbor points should not be confused. * @param theTrf * Position/Orientation of the polygon. * @param isFullIn * True if full inclusion is required, False - if partial. * returns * True if the InteractiveObject geometry intersects the polygon or is * inside it */

    Parameters: | thePolygon (NCollection_List<gp_XY>) – theTrf (gp_Trsf) – isFullIn (bool) –
    Return type: | bool

  `NEdges`()
    - /** * Query the number of edges for wireframe display. */

    Return type: | inline int

  `NNodes`()
    - /** * Query the number of nodes. */

    Return type: | inline int

  `NTriangles`()
    - /** * Query the number of triangles. */

    Return type: | inline int

  `Node`()
    - /** * Query the node by its index. * returns * pointer to array of 3 Standard_ShortReal values (X,Y,Z coordinates) */

    Parameters: | theIndex (int) –
    Return type: | inline Standard_ShortReal *

  `Normal`()
    - /** * Query the normal vector at the given triangulation node (by index) * returns * pointer to array of 3 Standard_ShortReal values (X,Y,Z coordinates) */

    Parameters: | theIndex (int) –
    Return type: | inline Standard_ShortReal *

  `SetBackColor`()
    - /** * Set the color for presentation of the back side of triangles. * @param theColor * New color to use for the presentation. */

    Parameters: | theColor (Quantity_Color &) –
    Return type: | None

  `SetColor`()
    - /** * Set the normal color for presentation. * @param theColor * New color to use for the presentation. */

    Parameters: | theColor (Quantity_Color &) –
    Return type: | None

  `SetDisplayMode`()
    - /** * Set the display mode: Shading or Wireframe. * The default mode is Shading. */

    Parameters: | theMode (DisplayMode) –
    Return type: | None

  `SetPolygonOffset`()
    - /** * Set the offset for the presentation. * @param theValue * New offset to use for the presentation. */

    Parameters: | theValue (float) –
    Return type: | None

  `Shading` = 0
  `Triangle`()
    - /** * Query the triangle by its index. * returns * pointer to array of 3 Standard_Integer values (nodes 0, 1, 2) */

    Parameters: | theIndex (int) –
    Return type: | inline int *

  `Wireframe` = 1
  `thisown`

    The membership flag

class `NIS_SurfaceDrawer`(*args)

  Bases: `object`

  - /** * Constructor. */

  Parameters: | theNormal (Quantity_Color &) – theHilight (Quantity_Color &) – default value is Quantity_NOC_GRAY65 theDynHilight (Quantity_Color &) – default value is Quantity_NOC_CYAN1
  Return type: | None

  `AfterDraw`()
    - /** * Called after execution of Draw(), once per group of interactive objects. */

    Parameters: | theType (NIS_Drawer::DrawType) – theDrawList (NIS_DrawList &) –
    Return type: | void

  `Assign`()
    - /** * Copy the relevant information from another instance of Drawer. * raises exception if theOther has incompatible type (test IsKind). */

    Parameters: | theOther (Handle_NIS_Drawer &) –
    Return type: | void

  `BeforeDraw`()
    - /** * Called before execution of Draw(), once per group of interactive objects. */

    Parameters: | theType (NIS_Drawer::DrawType) – theDrawList (NIS_DrawList &) –
    Return type: | void

  `Draw`()
    - /** * Main function: display the given interactive object in the given view. */

    Parameters: | & (Handle_NIS_InteractiveObject) – theType (NIS_Drawer::DrawType) – theDrawList (NIS_DrawList &) –
    Return type: | void

  `GetHandle`()
  `GetPolygonOffset`()
    - /** * Get the surface offset. */

    Return type: | inline float

  `GetTransformation`()
    - /** * Returns the transformation to the drawer. */

    Return type: | inline gp_Trsf

  `IsEqual`()
    - /** * Matching two instances, for Map interface. */

    Parameters: | theOth (Handle_NIS_Drawer &) –
    Return type: | bool

  `SetBackColor`()
    - /** * Define the color used for the back side of rendered triangles. * By default this color is the same as the ‘Normal’ color. */

    Parameters: | theColor (Quantity_Color &) –
    Return type: | inline void

  `SetColor`()
    - /** * Sets the color of the drawer. */

    Parameters: | theColor (Quantity_Color &) –
    Return type: | None

  `SetPolygonOffset`()
    - /** * Sets the surface offset */

    Parameters: | theOffset (float) –
    Return type: | inline void

  `SetTransformation`()
    - /** * Sets the transformation to the drawer. */

    Parameters: | theTrsf (gp_Trsf) –
    Return type: | inline void

  `thisown`

    The membership flag

class `NIS_TriangulatedDrawer`(*args)

  Bases: `object`

  - /** * Constructor. */

  Parameters: | theNormal (Quantity_Color) – theHilight (Quantity_Color) – default value is Quantity_NOC_GRAY80 theDynHilight (Quantity_Color) – default value is Quantity_NOC_CYAN1
  Return type: | None

  `AfterDraw`()
    - /** * Called after execution of Draw(), once per group of interactive objects. */

    Parameters: | theType (NIS_Drawer::DrawType) – theDrawList (NIS_DrawList &) –
    Return type: | void

  `Assign`()
    - /** * Copy the relevant information from another instance of Drawer. * raises exception if theOther has incompatible type (test IsKind). */

    Parameters: | theOther (Handle_NIS_Drawer &) –
    Return type: | void

  `BeforeDraw`()
    - /** * Called before execution of Draw(), once per group of interactive objects. */

    Parameters: | theType (NIS_Drawer::DrawType) – theDrawList (NIS_DrawList &) –
    Return type: | void

  `Draw`()
    - /** * Main function: display the given interactive object in the given view. */

    Parameters: | & (Handle_NIS_InteractiveObject) – theType (NIS_Drawer::DrawType) – theDrawList (NIS_DrawList &) –
    Return type: | void

  `GetHandle`()
  `IsEqual`()
    - /** * Matching two instances, for Map interface. */

    Parameters: | theOth (Handle_NIS_Drawer &) –
    Return type: | bool

  `thisown`

    The membership flag

class `NIS_View`(*args)

  Bases: `OCC.V3d.V3d_View`

  - /** * Attach the view to the window. */

  Parameters: | theViewer (Handle_V3d_Viewer &) – theWindow (Handle_Aspect_Window &) – default value is NULL
  Return type: | None

  `DynamicHilight`()
    - /** * Set or unset the dynamically hilighted object, depending on the * given mouse coordinates. */

    Parameters: | theX (int) – theY (int) –
    Return type: | None

  `DynamicUnhilight`()
    - /** * Unhilights the hilighted object if it coincides with the given * object instance. */

    Parameters: | & (Handle_NIS_InteractiveObject) –
    Return type: | None

    - /** * Unhilights the currently hilighted object. */

    Return type: | inline void

  `FitAll3d`()
    - /** * Zoom the view to fit to visible objects size and positions. * @param theCoef * Relative margin in both X and Y dimensions. For example, value 1.0 * will fit to twice the actual size. * returns * True if operation performed, False if failed (most likely because of * very big actual scale) */

    Parameters: | theCoef (Quantity_Coefficient) – default value is 0.01
    Return type: | bool

  `GetBndBox`()
    - /** * Gets bounding box covering objects displayed in viewer. */

    Return type: | Bnd_B3f

    - /** * Gets bounding box covering objects displayed in viewer. * If operation is fails when Xmax < Xmin abd Ymax < Ymin */

    Parameters: | theXMin (int &) – theXMax (int &) – theYMin (int &) – theYMax (int &) –
    Return type: | None

  `GetDetected`()
    - /** * Gets all objects detected by last call of Pick() method */

    Return type: | inline NCollection_Vector<NIS_InteractiveObject *>

  `GetExListId`()
    - /** * Obtain the IDs of ex-lists. */

    Return type: | inline TColStd_PackedMapOfInteger

  `GetHandle`()
  `Pick`()
    - /** * Interactive selection by mouse click. Selection itself is performed in each * Interactive Context attached to this View, accordingto the local parameters * (mode, filter) of selection in each context. * @param theX * X coordinate of mouse pointer in the window. * @param theY * Y coordinate of mouse pointer in the window. * returns * the selected object picked by the minimal intersection distance among * all contexts attached to this View. */

    Parameters: | theX (int) – theY (int) –
    Return type: | Handle_NIS_InteractiveObject

    - /** * Interactive selection by mouse click. Selection itself is performed in each * Interactive Context attached to this View, accordingto the local parameters * (mode, filter) of selection in each context. * @param theAxis * 3D axis for objects selection * @param theOver * Overlap for the selecting axis * @param isOnlySel * If False, any displayed object can be picked, otherwise only selectable * ones. * returns * the selected object picked by the minimal intersection distance among * all contexts attached to this View. */

    Parameters: | theAxis (gp_Ax1) – theOver (float) – isOnlySel (bool) –
    Return type: | Handle_NIS_InteractiveObject

  `Select`()
    - /** * Set or unset the selected (hilighted) state of the object that is under * the coordinates theX, theY. * @param theX * X coordinate of the view window * @param theY * X coordinate of the view window * @param isForceMult * True if the effect of multi-Selection should be forced (e.g., when Shift * is pressed). * @param theRedraw * True to redraw view automatically (default value). */

    Parameters: | theX (int) – theY (int) – isForceMult (bool) – default value is Standard_False theRedraw (bool) – default value is Standard_True
    Return type: | None

    - /** * Set or unset the selected (hilighted) state of the objects that are * intersected by 2D box in the view * @param theXmin * left X coordinate of the view window * @param theYmin * lower Y coordinate of the view window * @param theXmax * right X coordinate of the view window * @param theYmax * upper Y coordinate of the view window * @param isForceMult * True if the effect of multi-Selection should be forced (e.g., when Shift * is pressed). * @param isFullyIncluded * True if only those objects are processed that are fully inside the * selection rectangle. False if objects fully or partially included in * the rectangle are processed. * @param theRedraw * True to redraw view automatically (default value). */

    Parameters: | theXmin (int) – theYmin (int) – theXmax (int) – theYmax (int) – isForceMult (bool) – default value is Standard_False isFullyIncluded (bool) – default value is Standard_False theRedraw (bool) – default value is Standard_True
    Return type: | None

    - /** * Set or unset the selected (hilighted) state of the objects that are * intersected by 2D polygon in the view * @param thePolygon * defines the vertices of a free-form closed polygon without * self-intersections. The last point should not coincide with the first * point of the list. Points are interpreted as X and Y integer coordinates * of the view window. Any two neighbor points should not be confused. * @param isForceMult * True if the effect of multi-Selection should be forced (e.g., when Shift * is pressed). * @param isFullyIncluded * True if only those objects are processed that are fully inside the * selection rectangle. False if objects fully or partially included in * the rectangle are processed. * @param theRedraw * True to redraw view automatically (default value). */

    Parameters: | thePolygon (NCollection_List<gp_XY>) – isForceMult (bool) – default value is Standard_False isFullyIncluded (bool) – default value is Standard_False theRedraw (bool) – default value is Standard_True
    Return type: | None

  `SetDynHilightSelected`()
    - /** * Indicate whether to hilight selected object dynamically * By default dynamic hilight works on all objects independently on its * selected/non-selected state. * This behaviour differs from the behaviour of AIS interactive context, * that doesn’t hilight dynamically (on mouse movements) selected objects. * In the case both context are used in the same view the behaviour of both * context can be made consistent by setting this flag to False */

    Parameters: | theHilight (bool) – default value is Standard_True
    Return type: | inline void

  `SetHilightOnTop`()
    - /** * Indicate whether to draw hilighted objects on top of all other ones */

    Parameters: | theTop (bool) – default value is Standard_True
    Return type: | inline void

  `SetWindow`()
    - /** * Attach the view to the window. */

    Parameters: | theWindow (Handle_Aspect_Window &) –
    Return type: | None

  `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