PolygonWall
Summary
Polygonal walls. Represents the standard wanaplan wall, which is a closed polygon of N points.
Constructor
PolygonWall
Syntax
PolygonWall
()
Summary
Item Index
Methods
- add
- addToStructure
- checkCoherence
- computeDefault
- computeStrong
- computeWeak
- deserialize
- distanceFrom
- distanceFromRect
- draw
- getAllPoints
- getAxis
- getBoundingBox
- getElementByName
- getFloor
- getIntersections
- getLength
- getNearestPoint
- getNearestPointOnAxe
- getNearestPointOnPolygon
- getNearestPointOnRect
- getNormalVector
- getPoints
- getPolygon
- getWallVector
- initialize
- isExternal
- isPointInPolygon
- isPointOn
- isTargeted
- parallelTo
- remove
- reorganizeOnSplit
- serialize
- setPoints
- sortAttached
- splitAtIntersections
- translate
- tryMerge
- update
- updateAttachedPoints
- updateOvertures
- updateReferences
- vectorTo
- weakToStrong
Methods
add
Syntax
add
(
private
-
propertyName
-
value
Summary
Adds an element to the collection in parameter.Returns:
Returns true if the value is added else returns false.
addToStructure
Syntax
addToStructure
(
-
structure
Summary
Adds a wall and its points to a structure.Parameters:
-
structure
FloorStructureThe floor structure containing the wall.
checkCoherence
Syntax
checkCoherence
(
-
structure
Summary
Checks if the object structure contains errors, if so, removes it from the plan.Parameters:
-
structure
FloorStructureThe floor where the object belongs.
computeDefault
Syntax
computeDefault
(
-
pointIndex
Summary
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
Syntax
computeStrong
(
-
pointIndex
Summary
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
Syntax
computeWeak
(
-
pointIndex
Summary
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
Syntax
Summary
Deserializes the object (from JSON).Parameters:
-
hybrid
ObjectJSON describing the object, built with the method serialize.
Returns:
Object:
The Structure object built from the deserialization
distanceFrom
Syntax
Summary
Returns the distance from a wall to a point.Parameters:
-
vector
BABYLON.Vector2Involved point.
Returns:
Number:
Distance to this wall.
distanceFromRect
Syntax
Summary
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:
Number:
The distance.
draw
Syntax
draw
(
-
ctx
Summary
Draws the wall on a canvas.Parameters:
-
ctx
CanvasRenderingContext2D2D canvas context.
getAllPoints
Syntax
Summary
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:
PointStructure[]:
Array of all the points.
getAxis
Syntax
getAxis
()
BABYLON.Vector2[]
Summary
Returns the 2 segments connecting the sides of the polygons of the wall. These segments are parallel to the wall vector.
Returns:
BABYLON.Vector2[]:
2x2 Array containing the 2 connecting segments.
getBoundingBox
Syntax
Summary
Computes the bounding box.Returns:
Object:
Nested object, min :
BABYLON.Vector2
, max : BABYLON.Vector2
getElementByName
Syntax
Summary
Gets an element of the collection by its name.Parameters:
Returns:
Object:
Returns the needed element if it exists, else returns null.
getFloor
Syntax
Summary
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
Syntax
Summary
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:
PointStructure[]:
The intersections as an array of PointStructure.
getNearestPoint
Syntax
getNearestPoint
(
BABYLON.Vector2
-
vector
-
[margin=0]
Summary
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:
BABYLON.Vector2:
Projected point.
getNearestPointOnAxe
Syntax
getNearestPointOnAxe
(
BABYLON.Vector2
-
vector
Summary
Returns the projection of the given vector on the wall axe.Parameters:
-
vector
BABYLON.Vector2Involved point.
Returns:
BABYLON.Vector2:
Projected point.
getNearestPointOnPolygon
Syntax
getNearestPointOnPolygon
(
BABYLON.Vector2
-
vector
Summary
Returns the projection of the given vector on the wall polygon.Parameters:
-
vector
BABYLON.Vector2Involved point.
Returns:
BABYLON.Vector2:
Projected point.
getNearestPointOnRect
Syntax
getNearestPointOnRect
(
BABYLON.Vector2
-
vector
-
[margin=0]
-
structure
Summary
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:
BABYLON.Vector2:
Projected point.
getNormalVector
Syntax
getNormalVector
(
BABYLON.Vector2
-
[norm=1]
Summary
Returns an orthogonal vector.Parameters:
-
[norm=1]
Number optionalThe requested norm.
Returns:
BABYLON.Vector2:
Orthogonal vector.
getPoints
Syntax
getPoints
(
BABYLON.Vector2 | BABYLON.Vector22
-
[index]
Summary
Gets the endings of the wall.Parameters:
-
[index]
Number optionalIndex 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
Syntax
getPolygon
()
BABYLON.Vector2
Summary
Returns the polygon of the wall.Returns:
BABYLON.Vector2:
The wall as a polygon (array of vertices).
getWallVector
Syntax
getWallVector
()
BABYLON.Vector2
Summary
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
Syntax
initialize
()
private
Summary
Method called after the loading of the componentisExternal
Syntax
Summary
Checks if the wall is part of an external room.Parameters:
-
[structure]
FloorStructure optionalThe floor structure containing the wall
Returns:
Boolean:
True if the wall is external.
isPointInPolygon
Syntax
Summary
Returns true if the point is inside the polygon of the wall.Parameters:
-
vector
BABYLON.Vector2Involved point.
Returns:
Boolean:
True if the point is inside the polygon.
isPointOn
Syntax
Summary
Checks if a point is on a wall, within adelta
incertitude.
Parameters:
-
vector
BABYLON.Vector2Involved point. -
[delta=1e-5]
Number optionalIncertitude.
Returns:
Boolean:
True if the point is on the wall.
isTargeted
Syntax
Summary
Checks if the wall is targeted by the cursor.Parameters:
-
vector
BABYLON.Vector2The cursor position.
Returns:
Boolean:
True if targeted.
parallelTo
Syntax
Summary
Checks if the wall is parallel to another wall.Parameters:
-
wall
WallStructureOther wall.
Returns:
Boolean:
True if the walls are parallel.
remove
Syntax
remove
(
-
structure
Summary
Deletes a wall.Parameters:
-
structure
FloorStructureThe floor structure containing the wall.
reorganizeOnSplit
Syntax
reorganizeOnSplit
(
-
structure
-
wallList
Summary
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
Syntax
Summary
Serializes the object (to JSON)Returns:
Object:
The serialization result, null if nothing is serialized
setPoints
Syntax
setPoints
(
-
points
-
[index]
Summary
Changes the points composing the wall.Parameters:
-
points
PointStructure[]Array composed of instances ofPointStructure
. OR aPointStructure
if the parameterindex
is provided. -
[index]
Number optionalIndex of the point (0 or 1).
sortAttached
Syntax
sortAttached
()
Summary
Sorts the list of the attached points (point 0 to point 1).splitAtIntersections
Syntax
splitAtIntersections
(
-
structure
Summary
Splits the wall, taking other walls as splitters.Parameters:
-
structure
FloorStructureThe floor structure containing the wall.
translate
Syntax
translate
(
-
vector
-
[structure]
Summary
Translates the wall.Parameters:
-
vector
BABYLON.Vector2Translation vector. -
[structure]
FloorStructure optionalFloor structure containing the wall.
tryMerge
Syntax
Summary
Tries to merge the wall with other walls in the same floor.Parameters:
-
structure
FloorStructureThe floor structure containing the wall.
Returns:
WallStructure:
The resulting wall. Returns the unchanged wall if the method does not manage to merge with something.
update
Syntax
update
()
Summary
Generic update method, must be overridden.updateAttachedPoints
Syntax
updateAttachedPoints
(
-
structure
Summary
Updates the position of the attached points.Parameters:
-
structure
FloorStructureThe floor structure containing the wall.
updateOvertures
Syntax
updateOvertures
(
-
structure
Summary
Updates the position of the overtures on the wall.Parameters:
-
structure
FloorStructureThe floor structure containing the wall.
updateReferences
Syntax
updateReferences
(
-
structure
Summary
Updates the wall after deserialization.Parameters:
-
structure
FloorStructureThe floorStructure where the object belong.
vectorTo
Syntax
vectorTo
(
BABYLON.Vector2
-
vector
Summary
Returns the vector from the projected point on the wall, to the given point. Direction : wall -> point.Parameters:
-
vector
BABYLON.Vector2Involved point.
Returns:
BABYLON.Vector2:
The vector.
weakToStrong
Syntax
weakToStrong
(
-
point
-
structure
Summary
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
Syntax
_edgePolygons
BABYLON.Vector2[2]
Summary
The two polygons surrounding the ends.attachedPoints
Syntax
attachedPoints
PointStructure[]
Summary
Attached points. See Wanaplan Wiki for more info about the connections between walls.considerForElevation
Syntax
considerForElevation
Boolean
Summary
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
Syntax
forceSubslopes
Boolean
Summary
Flag to enable/disable subslopes on interior walls.Default: false
instance
Syntax
instance
String
Summary
Class type of the wall. e.g. : 'polygon' for polygonal walls, which are most used in wanaplan.measureDisplayed
Syntax
measureDisplayed
Boolean
Summary
Flag to enable/disable measure display.Default: true
measureDist
Syntax
measureDist
Number
Summary
2D distance to display the measures related to this wall.Default: 15
needsUpdate
Syntax
needsUpdate
Boolean
Summary
Flag that signals if the geometry of the wall must be re-computed.polygonPoints
Syntax
polygonPoints
BABYLON.Vector2
Summary
The 2D polygon shape of the wall.
type
Syntax
type
Number
Summary
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