API Docs for: 2.7.3
Show:

WallStructure Class

Extends BaseStructure
Module: Component
Parent Module: Wanaplan

Base abstract class for walls. More info can be found in the Wanaplan Wiki.

Constructor

WallStructure

()

Methods

add

(
  • propertyName
  • value
)
private

Inherited from BaseStructure:

Adds an element to the collection in parameter.

Parameters:

  • propertyName String
    Name of the dictionnary.
  • value Object
    Value to distribute.

Returns:

Returns true if the value is added else returns false.

addToStructure

(
  • structure
)

Adds a wall and its points to a structure.

Parameters:

checkCoherence

(
  • structure
)

Checks if the object structure contains errors, if so, removes it from the plan.

Parameters:

computeDefault

(
  • pointIndex
)

Computes a flat polygon ending, typically for unconnected walls. See Wanaplan API wiki for more info on wall connection.

Parameters:

  • pointIndex Number

    The index of the ending point, 0 or 1.

computeStrong

(
  • pointIndex
)

Computes a polygon ending for two-way connected walls. See Wanaplan API wiki for more info on wall connection.

Parameters:

  • pointIndex Number

    The index of the ending point, 0 or 1.

computeWeak

(
  • pointIndex
)

Computes a polygon ending for one-way connected walls. See Wanaplan API wiki for more info on wall connection.

Parameters:

  • pointIndex Number

    The index of the ending point, 0 or 1.

deserialize

(
  • hybrid
)
Object

Inherited from BaseStructure:

Deserializes the object (from JSON).

Parameters:

  • hybrid Object

    JSON describing the object, built with the method serialize.

Returns:

Object:

The Structure object built from the deserialization

distanceFrom

(
  • vector
)
Number

Returns the distance from a wall to a point.

Parameters:

  • vector BABYLON.Vector2

    Involved point.

Returns:

Number:

Distance to this wall.

distanceFromRect

(
  • vector
  • [margin=0]
  • structure
)
Number

Returns the distance from the given vector to the wall bounding rectangle.

Parameters:

  • vector BABYLON.Vector2

    Involved point.

  • [margin=0] Number optional

    The margin we take outside the endings of the wall.

  • structure FloorStructure

    The floor structure containing the wall.

Returns:

Number:

The distance.

draw

(
  • ctx
)

Draws the wall on a canvas.

Parameters:

getAllPoints

(
  • inOrder
)
PointStructure[]

Returns all the points of the wall (endings and attached points) in a specific order.

Parameters:

  • inOrder Boolean

    Order (-1 = from ending 0 to 1, 1 = from ending 1 to 0).

Returns:

PointStructure[]:

Array of all the points.

getBoundingBox

() Object

Computes the bounding box.

Returns:

Object:

Nested object, min : BABYLON.Vector2, max : BABYLON.Vector2

getElementByName

(
  • name
  • collection
)
Object private

Inherited from BaseStructure:

Gets an element of the collection by its name.

Parameters:

  • name String
    The name of the element to search.
  • collection String
    The name of the collection in which we want to search. If this parameter is not defined, the search is done in all the collection of type array.

Returns:

Object: Returns the needed element if it exists, else returns null.

getFloor

() FloorStructure

Inherited from BaseStructure

Gets the floor referencing this object.

Returns:

FloorStructure:

The floor containing this structure, -1 if the object has not been added to any floor collection yet.

getIntersections

(
  • structure
)
PointStructure[]

Returns a list of intersections with the other walls in the same floor. The extremities of the walls are not considered as intersections. The array is returned after sorting the elements by distance from the point 0 of the wall.

Parameters:

Returns:

PointStructure[]:

The intersections as an array of PointStructure.

getLength

() Number

Computes the length of the wall.

Returns:

Number:

The length of the wall.

getNearestPoint

(
  • vector
  • [margin=0]
)
BABYLON.Vector2

Returns the projection of the given vector on the wall segment.

Parameters:

  • vector BABYLON.Vector2

    Involved point.

  • [margin=0] Number optional

    The margin we take outside the endings of the wall.

Returns:

BABYLON.Vector2:

Projected point.

getNearestPointOnAxe

(
  • vector
)
BABYLON.Vector2

Returns the projection of the given vector on the wall axe.

Parameters:

  • vector BABYLON.Vector2

    Involved point.

Returns:

BABYLON.Vector2:

Projected point.

getNearestPointOnPolygon

(
  • vector
)
BABYLON.Vector2

Returns the projection of the given vector on the wall polygon.

Parameters:

  • vector BABYLON.Vector2

    Involved point.

Returns:

BABYLON.Vector2:

Projected point.

getNearestPointOnRect

(
  • vector
  • [margin=0]
  • structure
)
BABYLON.Vector2

Returns the projection of the given vector on the wall bounding rectangle.

Parameters:

  • vector BABYLON.Vector2

    Involved point.

  • [margin=0] Number optional

    The margin we take outside the endings of the wall.

  • structure FloorStructure

    The floor structure containing the wall.

Returns:

BABYLON.Vector2:

Projected point.

getNearestWall

(
  • vector
  • structure
)
WallStructure static

Returns the nearest wall from a given point.

Parameters:

  • vector BABYLON.Vector2

    Involved point.

  • structure FloorStructure

    The floor structure to check.

Returns:

WallStructure:

The nearest wall.

getNormalVector

(
  • [norm=1]
)
BABYLON.Vector2

Returns an orthogonal vector.

Parameters:

  • [norm=1] Number optional

    The requested norm.

Returns:

BABYLON.Vector2:

Orthogonal vector.

getPoints

(
  • [index]
)
BABYLON.Vector2 | BABYLON.Vector22

Gets the endings of the wall.

Parameters:

  • [index] Number optional

    Index of the point.

Returns:

BABYLON.Vector2 | BABYLON.Vector22:

If an index is provided, returns the point of that index. Else returns an array containing the 2 points.

getPolygon

() BABYLON.Vector2

Returns the polygon of the wall.

Returns:

BABYLON.Vector2:

The wall as a polygon (array of vertices).

getWallVector

() BABYLON.Vector2

Computes the vector representing the wall. Starts from its point 0, and ends on its point 1.

Returns:

BABYLON.Vector2:

Vector carrying the wall.

initialize

() private

Inherited from BaseStructure:

Method called after the loading of the component

isExternal

(
  • [structure]
)
Boolean

Checks if the wall is part of an external room.

Parameters:

  • [structure] FloorStructure optional

    The floor structure containing the wall

Returns:

Boolean:

True if the wall is external.

isPointInPolygon

(
  • vector
)
Boolean

Returns true if the point is inside the polygon of the wall.

Parameters:

  • vector BABYLON.Vector2

    Involved point.

Returns:

Boolean:

True if the point is inside the polygon.

isPointOn

(
  • vector
  • [delta=1e-5]
)
Boolean

Checks if a point is on a wall, within a delta incertitude.

Parameters:

  • vector BABYLON.Vector2

    Involved point.

  • [delta=1e-5] Number optional

    Incertitude.

Returns:

Boolean:

True if the point is on the wall.

isTargeted

(
  • vector
)
Boolean

Checks if the wall is targeted by the cursor.

Parameters:

  • vector BABYLON.Vector2

    The cursor position.

Returns:

Boolean:

True if targeted.

parallelTo

(
  • wall
)
Boolean

Checks if the wall is parallel to another wall.

Parameters:

Returns:

Boolean:

True if the walls are parallel.

remove

(
  • structure
)

Deletes a wall.

Parameters:

reorganizeOnSplit

(
  • structure
  • wallList
)

Reorganizes the attached walls and the overtures when the wall is splitted into several pieces.

Parameters:

serialize

() Object

Inherited from BaseStructure:

Serializes the object (to JSON)

Returns:

Object: The serialization result, null if nothing is serialized

setPoints

(
  • points
  • [index]
)

Changes the points composing the wall.

Parameters:

  • points PointStructure[]

    Array composed of instances of PointStructure. OR a PointStructure if the parameter index is provided.

  • [index] Number optional

    Index of the point (0 or 1).

sortAttached

()

Sorts the list of the attached points (point 0 to point 1).

splitAtIntersections

(
  • structure
)

Splits the wall, taking other walls as splitters.

Parameters:

translate

(
  • vector
  • [structure]
)

Translates the wall.

Parameters:

  • vector BABYLON.Vector2

    Translation vector.

  • [structure] FloorStructure optional

    Floor structure containing the wall.

tryMerge

(
  • structure
)
WallStructure

Tries to merge the wall with other walls in the same floor.

Parameters:

Returns:

WallStructure:

The resulting wall. Returns the unchanged wall if the method does not manage to merge with something.

update

()

Inherited from BaseStructure:

Generic update method, must be overridden.

updateAttachedPoints

(
  • structure
)

Updates the position of the attached points.

Parameters:

updateOvertures

(
  • structure
)

Updates the position of the overtures on the wall.

Parameters:

updateReferences

(
  • structure
)

Inherited from BaseStructure

Updates the wall after deserialization.

Parameters:

  • structure FloorStructure

    The floorStructure where the object belong.

vectorTo

(
  • vector
)
BABYLON.Vector2

Returns the vector from the projected point on the wall, to the given point. Direction : wall -> point.

Parameters:

  • vector BABYLON.Vector2

    Involved point.

Returns:

BABYLON.Vector2:

The vector.

weakToStrong

(
  • point
  • structure
)

Upgrades the connection from weak (attached) to strong (connected).

Parameters:

  • point PointStructure

    The weak point that becomes strong.

  • structure wnp.FloorStructure

    The floor structure containing the wall.

Properties

_edgePolygons

BABYLON.Vector2[2]

The two polygons surrounding the ends.

attachedPoints

PointStructure[]

Attached points. See Wanaplan Wiki for more info about the connections between walls.

considerForElevation

Boolean

Consider or not when computing this floor's height (and therefore top floor elevation). Allows to have overlapping floors (useful for roofs)

Default: true

forceSubslopes

Boolean

Flag to enable/disable subslopes on interior walls.

Default: false

height

Number

Wall height.

Default: 250

id

Number

Inherited from BaseStructure:

Unique ID for the structure set up automatically

instance

String

Class type of the wall. e.g. : 'polygon' for polygonal walls, which are most used in wanaplan.

measureDisplayed

Boolean

Flag to enable/disable measure display.

Default: true

measureDist

Number

2D distance to display the measures related to this wall.

Default: 15

name

String

Inherited from BaseStructure:

Structure name

needsUpdate

Boolean

Flag that signals if the geometry of the wall must be re-computed.

overtures

OvertureStructure[]

Overtures (doors, windows, bay windows ...).

points

PointStructure[]

Two 2D vectors building the ends of the wall.

subSlopes

SubSlopeStructure[]

Subslope list for this wall.

thickness

Number

Wall thickness.

Default: 30

type

Number

Type of the wall. Can be TYPE_NORMAL or TYPE_SEPARATOR. TODO : Must be deleted in future version, this has to be replaced by a class "SeparatorWall" that has its own behaviour.

Default: TYPE_NORMAL

TYPE_GARDEN

Number final static

Garden wall.

TYPE_NORMAL

Number final static

Standard wall.

TYPE_SEPARATOR

Number final static

Separator wall (infinitely thin).

TYPE_TERRACE

Number final static

Terrace wall.