API Docs for: 2.7.3
Show:

SwimmingPoolComponent2D Class

Extends BaseComponent2D
Module: Component
Parent Module: Wanaplan

SwimmingPool 2D. Component which handles :

  • actions performed in 2D relatively to the SwimmingPool. Such as :
    • adding a SwimmingPool
    • displaying the SwimmingPool context menu
    • translating the SwimmingPool
    • modifying the shape of the SwimmingPool ( moving / adding / removing points / rotating )
  • the 2D rendering of the SwimmingPool

Constructor

SwimmingPoolComponent2D

(
  • core
)

Parameters:

  • core Core

    Wanaplan Core.

Methods

changeAddStateSwimmingPool

()

Change addstate when adding a temporary swimmingPool

compute

()

Computes all the swimmingPool structures.

computeSwimmingPool

(
  • swimmingPool
)

Checks the swimmingPool consistency and deletes it if the swimmingPool is no longer valid.

  • merges vertices that are close enough.
  • removes the swimmingPool if it has less than 3 vertices ( invalid swimmingPool ).

Parameters:

destroy

()

Inherited from BaseComponent2D:

Method called when the component is destroyed

disable

()

Inherited from BaseComponent2D:

Disables the component

draw

(
  • swimmingPool
  • ctx
  • translation
  • zoom
  • selected
)

Draws the swimmingPool.

Parameters:

  • swimmingPool SwimmingPoolStructure

    The swimmingPool structure.

  • ctx Context2D

    The 2d context.

  • translation BABYLON.Vector2

    The translation of the canvas.

  • zoom Number

    The zoom level of the canvas.

  • selected Boolean

    True if the swimmingPool is currently selected, else false.

draw

(
  • swimmingPool
  • ctx
  • translation
  • zoom
  • selected
)

Draws the thickness of the swimmingPool.

Parameters:

  • swimmingPool SwimmingPoolStructure

    The swimmingPool structure.

  • ctx Context2D

    The 2d context.

  • translation BABYLON.Vector2

    The translation of the canvas.

  • zoom Number

    The zoom level of the canvas.

  • selected Boolean

    True if the swimmingPool is currently selected, else false.

drawTarget

(
  • swimmingPool
  • ctx
  • zoom
)

Draws the swimmingPool guide. It displays visual information on the swimmingPool, depending on the context. Basically, it draws a highlight when the mouse is hovering a swimmingPool element ( the whole swimmingPool, a side , a point, the rotation ring ).

Parameters:

  • swimmingPool SwimmingPoolStructure

    The swimmingPool structure.

  • ctx Context2D

    The 2d context.

  • zoom Number

    The zoom level of the canvas.

enable

()

Inherited from BaseComponent2D:

Enables the component

getTargeted

(
  • vector
)
Object

Inherited from BaseComponent2D:

Finds out if the given position is over an element handled by the component

Parameters:

  • vector Vector

    A position, usually the cursor's one.

Returns:

Object:

The targeted element, or null if nothing is found.

initialize

()

Inherited from BaseComponent2D:

Method called when Wanaplan is initialized. You don't need to call this method manually.

isPointInSwimmingPool

(
  • vector
  • swimmingPool
)
Boolean

Tests the collision of a point with the area defined by the swimmingPool.

Parameters:

Returns:

Boolean:

True if the point collides, else false.

isPointInSwimmingPoolSide

(
  • vector
  • swimmingPool
)
Number | Boolean

Tests the collision of a point with the swimmingPool's edges.

Parameters:

Returns:

Number | Boolean:

False if the point does not collide with any of the swimmingPool's edges. Else the index of the side that collides.

onAddSwimmingPool

(
  • event
)

Create a new SwimmingPoolStructure

Parameters:

  • event Event

    The event caught.

onAddSwimmingPoolClick

(
  • event
  • target
  • mstate
  • data
)

Adds a new swimmingPool on click. Triggered on event swimmingPoolComponent2D.add-swimmingPool.click

Parameters:

onContextChanged

(
  • context
)

Inherited from BaseComponent2D:

Method called when the context is switched (2D -> 3D or 3D -> 2D)

Parameters:

  • context String
    The new context

onContextMenu

(
  • event
  • target
  • mstate
  • data
)

Opens the context menu of the swimmingPool. Triggered on event swimmingPoolComponent2D.swimmingPool.click

Parameters:

onContextMenuPropertyChanged

(
  • target
  • property
  • value
)

Called when a value is changed in the context menu of the swimmingPool.

Parameters:

onContextMenuRemove

(
  • target
)

Called when the user closes the context menu.

Parameters:

onDblClick

(
  • event
  • target
  • mstate
  • data
)

Adds a point on the swimmingPool contour when the user double clicks on it. Triggered on event SwimmingPoolComponent2D.swimmingPool.dblclickswimmingPool

Parameters:

onDrag

(
  • event
  • target
  • mstate
  • data
)

Moves the swimmingPool when it is dragged. Triggered on event swimmingPoolComponent2D.swimmingPool.drag

Parameters:

onDragEnd

(
  • event
  • target
  • mstate
  • data
)

Calls computeSwimmingPool when the user stop dragging. Triggered on event swimmingPoolComponent2D.stair-swimmingPool.drag-end

Parameters:

onDragStart

(
  • event
  • target
  • mstate
  • data
)

Adds new events callbacks when the dragging starts. Triggered on event swimmingPoolComponent2D.swimmingPool.drag-start

Parameters:

onHover

(
  • event
  • target
  • mstate
  • data
)

Enables all the possible actions when the mouse hovers the swimmingPool. Triggered on event swimmingPoolComponent2D.swimmingPool.hover

Parameters:

onHoverSwimmingPool

(
  • ctx
  • translation
  • zoom
  • data
)

Highlights the swimmingPool. Triggered on event swimmingPoolComponent2D.swimmingPool-hover.dynamic-draw

Parameters:

  • ctx CanvasRenderingContext2D

    2D context of the canvas.

  • translation BABYLON.Vector2

    The translation of the canvas.

  • zoom Number

    The current zoom of the canvas.

  • data Object

    Important data used to draw (null).

onLeave

(
  • event
  • target
  • mstate
  • data
)

Disables all the possible actions when the mouse leaves the swimmingPool. Triggered on event swimmingPoolComponent2D.swimmingPool.leave

Parameters:

onMouseMove

(
  • event
  • target
  • mstate
  • data
)

Moves the new swimmingPool to add when the mouse moves. Triggered on event swimmingPoolComponent2D.dynamic-stair.mouse-move

Parameters:

startListening

()

Inherited from BaseComponent2D:

Calls all the event listeners.

stopListening

()

Inherited from BaseComponent2D:

Removes all the event listeners.

update

()

Inherited from BaseComponent2D:

Generic update method, called on every frame

updateElevation

(
  • sp
)

Raises the elevation of the swimmingPool if necessary.

Parameters:

Properties

name

String

Inherited from BaseComponent2D:

Component name

priority

Number

Inherited from BaseComponent2D:

Priority of the component in the "update" and "draw" routines

structure

wnp.Structure

Inherited from BaseComponent2D:

Structure file instance (shortcut to wanaplan.structure). This is the base object where the whole plan is saved