To construct a selectable 2d axis system in a 3d drawing. This can be placed anywhere in the 3d system, and provides a coordinate system for drawing curves and shapes in a plane. There are 3 selection modes:
More...
|
| AIS_PlaneTrihedron (const Handle< Geom_Plane > &aPlane) |
| Initializes the plane aPlane. The plane trihedron is constructed from this and an axis. More...
|
|
Handle< Geom_Plane > | Component () |
| Returns the component specified in SetComponent. More...
|
|
void | SetComponent (const Handle< Geom_Plane > &aPlane) |
| Creates an instance of the component object aPlane. More...
|
|
Handle< AIS_Line > | XAxis () const |
| Returns the "XAxis". More...
|
|
Handle< AIS_Line > | YAxis () const |
| Returns the "YAxis". More...
|
|
Handle< AIS_Point > | Position () const |
| Returns the point of origin of the plane trihedron. More...
|
|
void | SetLength (const Standard_Real theLength) |
| Sets the length of the X and Y axes. More...
|
|
Standard_Real | GetLength () const |
| Returns the length of X and Y axes. More...
|
|
Standard_Boolean | AcceptDisplayMode (const Standard_Integer aMode) const |
| Returns true if the display mode selected, aMode, is valid. More...
|
|
virtual void | Compute (const Handle< Prs3d_Projector > &aProjector, const Handle< Geom_Transformation > &aTrsf, const Handle< Prs3d_Presentation > &aPresentation) |
| computes the presentation according to a point of view given by <aProjector>. To be Used when the associated degenerated Presentations have been transformed by <aTrsf> which is not a Pure Translation. The HLR Prs can't be deducted automatically WARNING :<aTrsf> must be applied to the object to display before computation !!! More...
|
|
virtual Standard_Integer | Signature () const |
| Specifies additional characteristics of Interactive Objects. A signature is, in fact, an index with integer values assigned different properties. This method is frequently used in conjuction with Type to give a particular type and signature to an Interactive Object. By default, the Interactive Object has a None type and a signature of 0. Among the datums, this signature is attributed to the shape The remaining datums have the following default signatures: More...
|
|
virtual AIS_KindOfInteractive | Type () const |
| Returns datum as the type of Interactive Object. More...
|
|
void | SetColor (const Quantity_NameOfColor aColor) |
| Allows you to provide settings for the color aColor. More...
|
|
void | SetColor (const Quantity_Color &aColor) |
|
void | SetXLabel (const TCollection_AsciiString &aLabel) |
|
void | SetYLabel (const TCollection_AsciiString &aLabel) |
|
virtual Standard_Boolean | AcceptShapeDecomposition () const |
| Informs the graphic context that the interactive Object may be decomposed into sub-shapes for dynamic selection. The most used Interactive Object is AIS_Shape. Activation methods for standard selection modes are proposed in the Interactive Context. These include selection by vertex or by edges. For datums with the same behavior as AIS_Shape, such as vetices and edges, we must redefine the virtual method so that AcceptShapeDecomposition returns false. Rule for selection : Mode 0 : Selection of the interactive Object itself Mode 1 : Selection of vertices Mode 2 : Selection Of Edges Mode 3 : Selection Of Wires Mode 4 : Selection Of Faces ... More...
|
|
void | SetCurrentFacingModel (const Aspect_TypeOfFacingModel aModel=Aspect_TOFM_BOTH_SIDE) |
| change the current facing model apply on polygons for SetColor(), SetTransparency(), SetMaterial() methods default facing model is Aspect_TOFM_TWO_SIDE. This mean that attributes is applying both on the front and back face. More...
|
|
Aspect_TypeOfFacingModel | CurrentFacingModel () const |
| Returns the current facing model which is in effect. More...
|
|
virtual void | UnsetColor () |
| Removes color settings. Only the Interactive Object knows which Drawer attribute is affected by the color setting. For a wire, for example, wire aspect is the attribute affected. For a vertex, however, only point aspect is affected by the color setting. More...
|
|
virtual void | SetWidth (const Standard_Real aValue) |
| Allows you to provide the setting aValue for width. Only the Interactive Object knows which Drawer attribute is affected by the width setting. More...
|
|
virtual void | UnsetWidth () |
|
virtual Standard_Integer | DefaultDisplayMode () const |
| Returns the default display mode. This method is to be implemented when the main mode is not mode 0. More...
|
|
void | Redisplay (const Standard_Boolean AllModes=Standard_False) |
| Updates the active presentation; if <AllModes> = Standard_True all the presentations inside are recomputed. IMPORTANT: It is preferable to call Redisplay method of corresponding AIS_InteractiveContext instance for cases when it is accessible. This method just redirects call to myCTXPtr, so this class field must be up to date for proper result. More...
|
|
void | SetInfiniteState (const Standard_Boolean aFlag=Standard_True) |
| Sets the infinite state flag aFlage. if <aFlag> = True , the interactiveObject is considered as infinite, i.e. its graphic presentations are not taken in account for View FitAll... More...
|
|
Standard_Boolean | IsInfinite () const |
| Returns true if the interactive object is infinite. In this case, its graphic presentations are not taken into account in the fit-all view. More...
|
|
Standard_Boolean | HasInteractiveContext () const |
| Indicates whether the Interactive Object has a pointer to an interactive context. More...
|
|
Handle< AIS_InteractiveContext > | GetContext () const |
| Returns the context pointer to the interactive context. More...
|
|
virtual void | SetContext (const Handle< AIS_InteractiveContext > &aCtx) |
| Sets the interactive context aCtx and provides a link to the default drawing tool or "Drawer" if there is none. More...
|
|
Standard_Boolean | HasOwner () const |
| Returns true if the object has an owner attributed to it. The owner can be a shape for a set of sub-shapes or a sub-shape for sub-shapes which it is composed of, and takes the form of a transient. More...
|
|
const Handle< Standard_Transient > & | GetOwner () const |
| Returns the owner of the Interactive Object. The owner can be a shape for a set of sub-shapes or a sub-shape for sub-shapes which it is composed of, and takes the form of a transient. There are two types of owners: More...
|
|
void | SetOwner (const Handle< Standard_Transient > &ApplicativeEntity) |
| Allows you to attribute the owner ApplicativeEntity to an Interactive Object. This can be a shape for a set of sub-shapes or a sub-shape for sub-shapes which it is composed of. The owner takes the form of a transient. More...
|
|
void | ClearOwner () |
| Each Interactive Object has methods which allow us to attribute an Owner to it in the form of a Transient. This method removes the owner from the graphic entity. More...
|
|
Standard_Boolean | HasUsers () const |
|
const TColStd_ListOfTransient & | Users () const |
|
void | AddUser (const Handle< Standard_Transient > &aUser) |
|
void | ClearUsers () |
|
Standard_Boolean | HasDisplayMode () const |
| Returns true if the Interactive Object has a display mode setting. Otherwise, it is displayed in Neutral Point. More...
|
|
void | SetDisplayMode (const Standard_Integer aMode) |
| Sets the display mode aMode for the interactive object. An object can have its own temporary display mode, which is different from that proposed by the interactive context. The range of possibilities currently proposed is the following: More...
|
|
void | UnsetDisplayMode () |
| Removes display mode settings from the interactive object. More...
|
|
Standard_Integer | DisplayMode () const |
| Returns the display mode setting of the Interactive Object. The range of possibilities is the following: More...
|
|
Standard_Boolean | HasSelectionMode () const |
| Allows you to change the selection mode of an Interactive Object. The default selection mode setting is 0. For shapes, for example, the selection modes are as follows: More...
|
|
Standard_Integer | SelectionMode () const |
| Returns the selection mode of the interactive object. More...
|
|
void | SetSelectionMode (const Standard_Integer aMode) |
| You can change the default selection mode index aMode of an Interactive Object. This is only of interest if you decide that mode 0 adopted by convention will not do. More...
|
|
void | UnsetSelectionMode () |
| You can change the default selection mode index of an Interactive Object. This is only of interest if you decide that the 0 mode adopted by convention will not do. More...
|
|
Standard_Integer | SelectionPriority () const |
| Returns the selection priority setting. -1 indicates that there is none. You can modify the selection priority of an owner to make one entity more selectionable than another one. The default selection priority for an owner is 5, for example. To increase selection priority, choose a setting between 5 and 10. An entity with priority 7 will take priority over one with a setting of 6 if both objects are selected at the same time. You could give vertices priority 8, edges priority 7, faces priority 6, and shapes priority 5. If a vertex, an edge and a face are simultaneously detected during selection, only the vertex will then be highlighted. For trihedra, for example, the default priorities are the following four: More...
|
|
void | SetSelectionPriority (const Standard_Integer aPriority) |
| Allows you to provide a setting aPriority for selection priority. You can modify selection priority of an owner to make one entity more selectionable than another one. The default selection priority for an owner is 5, for example. To increase selection priority, choose a setting between 5 and 10. An entity with priority 7 will take priority over one with a setting of 6. More...
|
|
void | UnsetSelectionPriority () |
| Removes the setting for selection priority. SelectionPriority then returns -1. More...
|
|
Standard_Boolean | HasSelectionPriority () const |
| Returns true if there is a setting for selection priority. You can modify selection priority of an owner to make one entity more selectionable than another one. The default selection priority for an owner is 5, for example. To increase selection priority, choose a setting between 5 and 10. An entity with priority 7 will take priority over one with a setting of 6. More...
|
|
Standard_Boolean | HasHilightMode () const |
| Returns true if the Interactive Object is in highlight mode. More...
|
|
Standard_Integer | HilightMode () const |
| Returns the setting for highlight mode. At dynamic detection, the presentation echoed by the Interactive Context, is by default the presentation already on the screen. You can specify a Highlight presentation mode which is valid no matter what the active representation of the object. It makes no difference whether this choice is temporary or definitive. To do this, we use the following functions: More...
|
|
void | SetHilightMode (const Standard_Integer anIndex) |
| Sets the highlight mode anIndex for the interactive object. If, for example, you want to systematically highlight the wireframe presentation of a shape - whether visualized in wireframe presentation or with shading - you set the highlight mode to 0. More...
|
|
void | UnsetHilightMode () |
| Allows the user to take a given Prs for hilight ex : for a shape which would be displayed in shading mode the hilight Prs is the wireframe mode. if No specific hilight mode is defined, the displayed Prs will be the hilighted one. More...
|
|
Standard_Boolean | HasColor () const |
| Returns true if the Interactive Object has color. More...
|
|
virtual Quantity_NameOfColor | Color () const |
| Returns the color setting of the Interactive Object. More...
|
|
virtual void | Color (Quantity_Color &aColor) const |
|
Standard_Boolean | HasWidth () const |
| Returns true if the Interactive Object has width. More...
|
|
Standard_Real | Width () const |
| Returns the width setting of the Interactive Object. More...
|
|
Standard_Boolean | HasMaterial () const |
| Returns true if the Interactive Object has a setting for material. More...
|
|
virtual Graphic3d_NameOfMaterial | Material () const |
| Returns the current material setting. This will be on of the following materials: More...
|
|
virtual void | SetMaterial (const Graphic3d_NameOfMaterial aName) |
| Sets the name aName for material defining this display attribute for the interactive object. Material aspect determines shading aspect, color and transparency of visible entities. More...
|
|
virtual void | SetMaterial (const Graphic3d_MaterialAspect &aName) |
| Sets the material aMat defining this display attribute for the interactive object. Material aspect determines shading aspect, color and transparency of visible entities. More...
|
|
virtual void | UnsetMaterial () |
| Removes the setting for material. More...
|
|
virtual void | SetTransparency (const Standard_Real aValue=0.6) |
| Attributes a setting aValue for transparency. The transparency value should be between 0.0 and 1.0. At 0.0 an object will be totally opaque, and at 1.0, fully transparent. Warning At a value of 1.0, there may be nothing visible. More...
|
|
Standard_Boolean | IsTransparent () const |
| Returns true if there is a transparency setting. More...
|
|
virtual Standard_Real | Transparency () const |
| Returns the transparency setting. This will be between 0.0 and 1.0. At 0.0 an object will be totally opaque, and at 1.0, fully transparent. More...
|
|
virtual void | UnsetTransparency () |
| Removes the transparency setting. The object is opaque by default. More...
|
|
virtual void | UnsetAttributes () |
| Clears settings provided by the drawing tool aDrawer. More...
|
|
void | State (const Standard_Integer theState) |
|
Standard_Integer | State () const |
|
Standard_Boolean | HasPresentation () const |
| Returns TRUE when this object has a presentation in the current DisplayMode() More...
|
|
Handle< Prs3d_Presentation > | Presentation () const |
| Returns the current presentation of this object according to the current DisplayMode() More...
|
|
void | SetAspect (const Handle< Prs3d_BasicAspect > &anAspect, const Standard_Boolean globalChange=Standard_True) |
| Sets the graphic basic aspect to the current presentation. When <globalChange> is TRUE , the full object presentation is changed. When <globalChange> is FALSE , only the current group of the object presentation is changed. More...
|
|
virtual void | SetPolygonOffsets (const Standard_Integer aMode, const Standard_ShortReal aFactor=1.0, const Standard_ShortReal aUnits=0.0) |
| Sets up polygon offsets for this object. It modifies all existing presentations of <anObj> (if any), so it is reasonable to call this method after <anObj> has been displayed. Otherwise, Compute() method should pass Graphic3d_AspectFillArea3d aspect from <myDrawer> to Graphic3d_Group to make polygon offsets work. More...
|
|
virtual Standard_Boolean | HasPolygonOffsets () const |
| Returns Standard_True if <myDrawer> has non-null shading aspect. More...
|
|
virtual void | PolygonOffsets (Standard_Integer &aMode, Standard_ShortReal &aFactor, Standard_ShortReal &aUnits) const |
| Retrieves current polygon offsets settings from <myDrawer>. More...
|
|
virtual void | BoundingBox (Bnd_Box &theBndBox) |
| Returns bounding box of object correspondingly to its current display mode. More...
|
|
void | RecomputePrimitives () |
| Re-computes the sensitive primitives for all modes. IMPORTANT: Do not use this method to update selection primitives except implementing custom selection manager! This method does not take into account necessary BVH updates, but may invalidate the pointers it refers to. TO UPDATE SELECTION properly from outside classes, use method UpdateSelection. More...
|
|
void | RecomputePrimitives (const Standard_Integer theMode) |
| Re-computes the sensitive primitives which correspond to the <theMode>th selection mode. IMPORTANT: Do not use this method to update selection primitives except implementing custom selection manager! selection manager! This method does not take into account necessary BVH updates, but may invalidate the pointers it refers to. TO UPDATE SELECTION properly from outside classes, use method UpdateSelection. More...
|
|
void | AddSelection (const Handle< SelectMgr_Selection > &aSelection, const Standard_Integer aMode) |
| Adds the selection aSelection with the selection mode index aMode to this framework. More...
|
|
void | ClearSelections (const Standard_Boolean update=Standard_False) |
| Empties all the selections in the SelectableObject <update> parameter defines whether all object's selections should be flagged for further update or not. This improved method can be used to recompute an object's selection (without redisplaying the object completely) when some selection mode is activated not for the first time. More...
|
|
const Handle< SelectMgr_Selection > & | Selection (const Standard_Integer aMode) const |
| Returns the selection Selection having the selection mode aMode. More...
|
|
Standard_Boolean | HasSelection (const Standard_Integer aMode) const |
| Returns true if a selection corresponding to the selection mode aMode is present in this framework. More...
|
|
void | Init () |
| Begins the iteration scanning for sensitive primitives. More...
|
|
Standard_Boolean | More () const |
| Continues the iteration scanning for sensitive primitives. More...
|
|
void | Next () |
| Continues the iteration scanning for sensitive primitives. More...
|
|
const Handle< SelectMgr_Selection > & | CurrentSelection () const |
| Returns the current selection in this framework. More...
|
|
void | ResetTransformation () |
| resets local transformation to identity. More...
|
|
virtual void | UpdateTransformation () |
| Recomputes the location of the selection aSelection. More...
|
|
virtual void | UpdateTransformations (const Handle< SelectMgr_Selection > &aSelection) |
| Updates locations in all sensitive entities from <aSelection> and in corresponding entity owners. More...
|
|
virtual void | HilightSelected (const Handle< PrsMgr_PresentationManager3d > &PM, const SelectMgr_SequenceOfOwner &Seq) |
| Method which draws selected owners ( for fast presentation draw ) More...
|
|
virtual void | ClearSelected () |
| Method which clear all selected owners belonging to this selectable object ( for fast presentation draw ) More...
|
|
virtual void | HilightOwnerWithColor (const Handle< PrsMgr_PresentationManager3d > &thePM, const Quantity_NameOfColor theColor, const Handle< SelectMgr_EntityOwner > &theOwner) |
| Method which hilight an owner belonging to this selectable object ( for fast presentation draw ) More...
|
|
virtual Standard_Boolean | IsAutoHilight () const |
| If returns True, the old mechanism for highlighting selected objects is used (HilightSelected Method may be empty). If returns False, the HilightSelected method will be fully responsible for highlighting selected entity owners belonging to this selectable object. More...
|
|
virtual void | SetAutoHilight (const Standard_Boolean newAutoHilight) |
| Set AutoHilight property to true or false Sets up Transform Persistence Mode for this object. More...
|
|
Handle< Prs3d_Presentation > | GetHilightPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr) |
|
Handle< Prs3d_Presentation > | GetSelectPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr) |
|
virtual void | SetZLayer (const Graphic3d_ZLayerId theLayerId) |
| Set Z layer ID and update all presentations of the selectable object. The layers mechanism allows drawing objects in higher layers in overlay of objects in lower layers. More...
|
|
void | UpdateSelection (const Standard_Integer theMode=-1) |
| Sets update status FULL to selections of the object. Must be used as the only method of UpdateSelection from outer classes to prevent BVH structures from being outdated. More...
|
|
virtual void | SetAttributes (const Handle< Prs3d_Drawer > &theDrawer) |
| Initializes the drawing tool theDrawer. More...
|
|
const Handle< Prs3d_Drawer > & | Attributes () const |
| Returns the attributes settings. More...
|
|
virtual void | SetHilightAttributes (const Handle< Prs3d_Drawer > &theDrawer) |
| Initializes the hilight drawing tool theDrawer. More...
|
|
const Handle< Prs3d_Drawer > & | HilightAttributes () const |
| Returns the hilight attributes settings. More...
|
|
virtual void | UnsetHilightAttributes () |
| Clears settings provided by the hilight drawing tool theDrawer. More...
|
|
void | SetAssemblyOwner (const Handle< SelectMgr_EntityOwner > &theOwner, const Standard_Integer theMode=-1) |
| Sets common entity owner for assembly sensitive object entities. More...
|
|
const Handle< SelectMgr_EntityOwner > & | GetAssemblyOwner () const |
| Returns common entity owner if the object is an assembly. More...
|
|
Bnd_Box | BndBoxOfSelected (Handle< SelectMgr_IndexedMapOfOwner > &theOwners) |
| Returns a bounding box of sensitive entities with the owners given if they are a part of activated selection. More...
|
|
PrsMgr_Presentations & | Presentations () |
|
PrsMgr_TypeOfPresentation3d | TypeOfPresentation3d () const |
| Returns information on whether the object accepts display in HLR mode or not. More...
|
|
virtual void | SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag, const gp_Pnt &APoint) |
| Sets up Transform Persistence Mode for this object. This function used to lock in object position, rotation and / or zooming relative to camera position. Object will be drawn in the origin setted by APoint parameter (except Graphic3d_TMF_TriedronPers flag. More...
|
|
void | SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag) |
| Calls previous method with point (0,0,0) More...
|
|
Graphic3d_TransModeFlags | GetTransformPersistenceMode () const |
| Gets Transform Persistence Mode for this object. More...
|
|
gp_Pnt | GetTransformPersistencePoint () const |
| Gets point of transform persistence for this object. More...
|
|
void | SetTypeOfPresentation (const PrsMgr_TypeOfPresentation3d aType) |
|
void | SetToUpdate (const Standard_Integer aMode) |
| flags the Prs of mode <AMode> to be Updated. the Update will be done when needed. More...
|
|
void | SetToUpdate () |
| flags all the Presentations to be Updated. More...
|
|
void | ToBeUpdated (TColStd_ListOfInteger &ListOfMode) const |
| gives the list of modes which are flagged "to be updated". More...
|
|
virtual void | SetLocalTransformation (const gp_Trsf &theTransformation) |
| Sets local transformation to theTransformation. More...
|
|
Standard_Boolean | HasTransformation () const |
| Returns true if object has a transformation that is different from the identity. More...
|
|
const gp_Trsf & | LocalTransformation () const |
|
const gp_Trsf & | Transformation () const |
|
const gp_Trsf & | InversedTransformation () const |
|
virtual void | UpdateTransformation (const Handle< Prs3d_Presentation > &P) |
|
Graphic3d_ZLayerId | ZLayer () const |
| Get ID of Z layer. More...
|
|
virtual void | AddClipPlane (const Handle< Graphic3d_ClipPlane > &thePlane) |
| Adds clip plane for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be substracted from limit to predict the maximum possible number of object clipping planes. More...
|
|
virtual void | RemoveClipPlane (const Handle< Graphic3d_ClipPlane > &thePlane) |
| Removes previously added clip plane. More...
|
|
virtual void | SetClipPlanes (const Graphic3d_SequenceOfHClipPlane &thePlanes) |
| Set clip planes for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be substracted from limit to predict the maximum possible number of object clipping planes. More...
|
|
const Graphic3d_SequenceOfHClipPlane & | GetClipPlanes () const |
| Get clip planes. More...
|
|
virtual void | SetMutable (const Standard_Boolean theIsMutable) |
| Sets if the object has mutable nature (content or location will be changed regularly). This method should be called before object displaying to take effect. More...
|
|
const Standard_Boolean | IsMutable () const |
| Returns true if object has mutable nature (content or location are be changed regularly). Mutable object will be managed in different way than static onces (another optimizations). More...
|
|
virtual void | AddChild (const Handle< PrsMgr_PresentableObject > &theObject) |
| Makes theObject child of current object in scene hierarchy. More...
|
|
virtual void | RemoveChild (const Handle< PrsMgr_PresentableObject > &theObject) |
| Removes theObject from children of current object in scene hierarchy. More...
|
|
const PrsMgr_ListOfPresentableObjects & | Children () const |
| Returns children of the current object. More...
|
|
const Standard_Boolean | HasOwnPresentations () const |
| Returns true if object should have own presentations. More...
|
|
const PrsMgr_PresentableObjectPointer | Parent () const |
| Returns parent of current object in scene hierarchy. More...
|
|
virtual void | Delete () const |
| Memory deallocator for transient classes. More...
|
|
Public Member Functions inherited from Standard_Transient |
| Standard_Transient () |
| Empty constructor. More...
|
|
| Standard_Transient (const Standard_Transient &) |
| Copy constructor – does nothing. More...
|
|
Standard_Transient & | operator= (const Standard_Transient &) |
| Assignment operator, needed to avoid copying reference counter. More...
|
|
virtual | ~Standard_Transient () |
| Destructor must be virtual. More...
|
|
virtual const Handle_Standard_Type & | DynamicType () const |
| Returns a type information object about this object. More...
|
|
Standard_Boolean | IsInstance (const Handle_Standard_Type &theType) const |
| Returns a true value if this is an instance of Type. More...
|
|
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
| Returns a true value if this is an instance of TypeName. More...
|
|
Standard_Boolean | IsKind (const Handle_Standard_Type &theType) const |
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
|
|
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
|
|
virtual Handle_Standard_Transient | This () const |
| Returns a Handle which references this object. Must never be called to objects created in stack. More...
|
|
Standard_Integer | GetRefCount () const |
| Get the reference counter of this object. More...
|
|