WallStructure Class
Base abstract class for walls. More info can be found in the Wanaplan Wiki.
Constructor
WallStructure
()
Item Index
Methods
- add
- addToStructure
- checkCoherence
- computeDefault
- computeStrong
- computeWeak
- deserialize
- distanceFrom
- distanceFromRect
- draw
- getAllPoints
- getBoundingBox
- getElementByName
- getFloor
- getIntersections
- getLength
- getNearestPoint
- getNearestPointOnAxe
- getNearestPointOnPolygon
- getNearestPointOnRect
- getNearestWall static
- getNormalVector
- getPoints
- getPolygon
- getWallVector
- initialize
- isExternal
- isPointInPolygon
- isPointOn
- isTargeted
- parallelTo
- remove
- reorganizeOnSplit
- serialize
- setPoints
- sortAttached
- splitAtIntersections
- translate
- tryMerge
- update
- updateAttachedPoints
- updateOvertures
- updateReferences
- vectorTo
- weakToStrong
Properties
Methods
add
-
propertyName
-
value
Returns:
addToStructure
-
structure
Adds a wall and its points to a structure.
Parameters:
-
structure
FloorStructureThe floor structure containing the wall.
checkCoherence
-
structure
Checks if the object structure contains errors, if so, removes it from the plan.
Parameters:
-
structure
FloorStructureThe floor where the object belongs.
computeDefault
-
pointIndex
Computes a flat polygon ending, typically for unconnected walls. See Wanaplan API wiki for more info on wall connection.
Parameters:
-
pointIndex
NumberThe 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
NumberThe 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
NumberThe index of the ending point, 0 or 1.
deserialize
-
hybrid
Parameters:
-
hybrid
ObjectJSON describing the object, built with the method serialize.
Returns:
The Structure object built from the deserialization
distanceFrom
-
vector
Returns the distance from a wall to a point.
Parameters:
-
vector
BABYLON.Vector2Involved point.
Returns:
Distance to this wall.
distanceFromRect
-
vector
-
[margin=0]
-
structure
Returns the distance from the given vector to the wall bounding rectangle.
Parameters:
-
vector
BABYLON.Vector2Involved point.
-
[margin=0]
Number optionalThe margin we take outside the endings of the wall.
-
structure
FloorStructureThe floor structure containing the wall.
Returns:
The distance.
draw
-
ctx
Draws the wall on a canvas.
Parameters:
-
ctx
CanvasRenderingContext2D2D canvas context.
getAllPoints
-
inOrder
Returns all the points of the wall (endings and attached points) in a specific order.
Parameters:
-
inOrder
BooleanOrder (-1 = from ending 0 to 1, 1 = from ending 1 to 0).
Returns:
Array of all the points.
getBoundingBox
()
Object
Computes the bounding box.
Returns:
Nested object, min : BABYLON.Vector2
, max : BABYLON.Vector2
getElementByName
-
name
-
collection
Parameters:
Returns:
getFloor
()
FloorStructure
Gets the floor referencing this object.
Returns:
The floor containing this structure, -1 if the object has not been added to any floor collection yet.
getIntersections
-
structure
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:
-
structure
FloorStructureThe floor structure.
Returns:
The intersections as an array of PointStructure.
getNearestPoint
-
vector
-
[margin=0]
Returns the projection of the given vector on the wall segment.
Parameters:
-
vector
BABYLON.Vector2Involved point.
-
[margin=0]
Number optionalThe margin we take outside the endings of the wall.
Returns:
Projected point.
getNearestPointOnAxe
-
vector
Returns the projection of the given vector on the wall axe.
Parameters:
-
vector
BABYLON.Vector2Involved point.
Returns:
Projected point.
getNearestPointOnPolygon
-
vector
Returns the projection of the given vector on the wall polygon.
Parameters:
-
vector
BABYLON.Vector2Involved point.
Returns:
Projected point.
getNearestPointOnRect
-
vector
-
[margin=0]
-
structure
Returns the projection of the given vector on the wall bounding rectangle.
Parameters:
-
vector
BABYLON.Vector2Involved point.
-
[margin=0]
Number optionalThe margin we take outside the endings of the wall.
-
structure
FloorStructureThe floor structure containing the wall.
Returns:
Projected point.
getNearestWall
-
vector
-
structure
Returns the nearest wall from a given point.
Parameters:
-
vector
BABYLON.Vector2Involved point.
-
structure
FloorStructureThe floor structure to check.
Returns:
The nearest wall.
getNormalVector
-
[norm=1]
Returns an orthogonal vector.
Parameters:
-
[norm=1]
Number optionalThe requested norm.
Returns:
Orthogonal vector.
getPoints
-
[index]
Gets the endings of the wall.
Parameters:
-
[index]
Number optionalIndex of the point.
Returns:
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:
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:
Vector carrying the wall.
initialize
()
private
isExternal
-
[structure]
Checks if the wall is part of an external room.
Parameters:
-
[structure]
FloorStructure optionalThe floor structure containing the wall
Returns:
True if the wall is external.
isPointInPolygon
-
vector
Returns true if the point is inside the polygon of the wall.
Parameters:
-
vector
BABYLON.Vector2Involved point.
Returns:
True if the point is inside the polygon.
isPointOn
-
vector
-
[delta=1e-5]
Checks if a point is on a wall, within a delta
incertitude.
Parameters:
-
vector
BABYLON.Vector2Involved point.
-
[delta=1e-5]
Number optionalIncertitude.
Returns:
True if the point is on the wall.
isTargeted
-
vector
Checks if the wall is targeted by the cursor.
Parameters:
-
vector
BABYLON.Vector2The cursor position.
Returns:
True if targeted.
parallelTo
-
wall
Checks if the wall is parallel to another wall.
Parameters:
-
wall
WallStructureOther wall.
Returns:
True if the walls are parallel.
remove
-
structure
Deletes a wall.
Parameters:
-
structure
FloorStructureThe floor structure containing the wall.
reorganizeOnSplit
-
structure
-
wallList
Reorganizes the attached walls and the overtures when the wall is splitted into several pieces.
Parameters:
-
structure
FloorStructureThe floor structure containing the wall.
-
wallList
WallStructure[]The resulting pieces of the split.
serialize
()
Object
Returns:
setPoints
-
points
-
[index]
Changes the points composing the wall.
Parameters:
-
points
PointStructure[]Array composed of instances of
PointStructure
. OR aPointStructure
if the parameterindex
is provided. -
[index]
Number optionalIndex 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:
-
structure
FloorStructureThe floor structure containing the wall.
translate
-
vector
-
[structure]
Translates the wall.
Parameters:
-
vector
BABYLON.Vector2Translation vector.
-
[structure]
FloorStructure optionalFloor structure containing the wall.
tryMerge
-
structure
Tries to merge the wall with other walls in the same floor.
Parameters:
-
structure
FloorStructureThe floor structure containing the wall.
Returns:
The resulting wall. Returns the unchanged wall if the method does not manage to merge with something.
update
()
updateAttachedPoints
-
structure
Updates the position of the attached points.
Parameters:
-
structure
FloorStructureThe floor structure containing the wall.
updateOvertures
-
structure
Updates the position of the overtures on the wall.
Parameters:
-
structure
FloorStructureThe floor structure containing the wall.
updateReferences
-
structure
Updates the wall after deserialization.
Parameters:
-
structure
FloorStructureThe floorStructure where the object belong.
vectorTo
-
vector
Returns the vector from the projected point on the wall, to the given point. Direction : wall -> point.
Parameters:
-
vector
BABYLON.Vector2Involved point.
Returns:
The vector.
weakToStrong
-
point
-
structure
Upgrades the connection from weak (attached) to strong (connected).
Parameters:
-
point
PointStructureThe weak point that becomes strong.
-
structure
wnp.FloorStructureThe 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
instance
String
Class type of the wall. e.g. : 'polygon' for polygonal walls, which are most used in wanaplan.
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