Class Floor
A floor is a horizontal element defined by a profile.
Examples
// Create a floor with no elevation.
var p = Polygon.Rectangle(10, 20);
var floor1 = new Floor(p, 0.1);
// Create a floor with an elevation.
var floor2 = new Floor(p, 0.1, new Transform(0, 0, 3));
// Create some openings.
floor1.AddOpening(1, 1, 1, 1);
floor2.AddOpening(3, 3, 3, 3);
Inherited Members
Namespace: Elements
Assembly: Hypar.Elements.dll
Syntax
public class Floor : GeometricElement, INotifyPropertyChanged, IHasOpenings
Constructors
Floor()
Empty constructor for compatibility purposes. It is best to use the structured constructor with arguments, to ensure the floor is correctly created.
Declaration
public Floor()
Floor(Profile, Double, Transform, Material, Representation, Boolean, Guid, String)
Create a floor.
Declaration
public Floor(Profile profile, double thickness, Transform transform = null, Material material = null, Representation representation = null, bool isElementDefinition = false, Guid id = default(Guid), string name = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Profile | profile | The perimeter of the floor. |
| System.Double | thickness | The thickness of the floor. |
| Transform | transform | The floor's transform. Create a transform with a Z coordinate for the origin, to define the elevation of the floor. |
| Material | material | The floor's material. |
| Representation | representation | The floor's representation. |
| System.Boolean | isElementDefinition | Is this an element definition? |
| System.Guid | id | The floor's id. |
| System.String | name | The floor's name. |
Floor(Profile, Double, Nullable<Guid>, Transform, Material, Representation, Boolean, Guid, String)
Create a floor.
Declaration
public Floor(Profile profile, double thickness, Guid? level, Transform transform = null, Material material = null, Representation representation = null, bool isElementDefinition = false, Guid id = default(Guid), string name = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Profile | profile | The perimeter of the floor. |
| System.Double | thickness | The thickness of the floor. |
| System.Nullable<System.Guid> | level | The level this floor belongs to. |
| Transform | transform | The floor's transform. Create a transform with a Z coordinate for the origin, to define the elevation of the floor. |
| Material | material | The floor's material. |
| Representation | representation | The floor's representation. |
| System.Boolean | isElementDefinition | Is this an element definition? |
| System.Guid | id | The floor's id. |
| System.String | name | The floor's name. |
Properties
Elevation
The elevation from which the floor is extruded.
Declaration
[JsonIgnore]
public double Elevation { get; }
Property Value
| Type | Description |
|---|---|
| System.Double |
Level
The Level this floor belongs to.
Declaration
public Guid? Level { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.Guid> |
Openings
A collection of openings in the floor.
Declaration
public List<Opening> Openings { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.List<Opening> |
Profile
The untransformed profile of the floor.
Declaration
public Profile Profile { get; set; }
Property Value
| Type | Description |
|---|---|
| Profile |
Thickness
The thickness of the floor.
Declaration
public double Thickness { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double |
Methods
AddOpening(Polygon, Double, Double, Double, Double)
Add an opening in the wall.
Declaration
public Opening AddOpening(Polygon perimeter, double x, double y, double depthFront = 1, double depthBack = 1)
Parameters
| Type | Name | Description |
|---|---|---|
| Polygon | perimeter | The perimeter of the opening. |
| System.Double | x | The distance to the origin of the perimeter along the host's x axis. |
| System.Double | y | The height to the origin of the perimeter along the host's y axis. |
| System.Double | depthFront | The depth of the opening along the opening's +Z axis. |
| System.Double | depthBack | The depth of the opening along the opening's -Z axis. |
Returns
| Type | Description |
|---|---|
| Opening |
AddOpening(Double, Double, Double, Double, Double, Double)
Add an opening.
Declaration
public Opening AddOpening(double width, double height, double x, double y, double depthFront = 1, double depthBack = 1)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | width | The width of the opening. |
| System.Double | height | The height of the opening. |
| System.Double | x | The distance to the center of the opening along the host's x axis. |
| System.Double | y | The distance to the center of the opening along the host's y axis. |
| System.Double | depthFront | The depth of the opening along the opening's +Z axis. |
| System.Double | depthBack | The depth of the opening along the opening's -Z axis. |
Returns
| Type | Description |
|---|---|
| Opening |
Area()
The area of the floor.
Declaration
public double Area()
Returns
| Type | Description |
|---|---|
| System.Double | The area of the floor, not including the area of openings. |
ProfileTransformed()
Get the profile of the floor transformed by the floor's transform.
Declaration
public Profile ProfileTransformed()
Returns
| Type | Description |
|---|---|
| Profile |
UpdateRepresentations()
Update the representations.
Declaration
public override void UpdateRepresentations()
Overrides
Volume()
The area of the floor.
Declaration
public double Volume()
Returns
| Type | Description |
|---|---|
| System.Double | The area of the floor, not including the area of openings. |