[][src]Struct hulc2envolventecte::parsers::bdl::Wall

pub struct Wall {
    pub name: String,
    pub space: String,
    pub cons: String,
    pub location: Option<String>,
    pub tilt: f32,
    pub geometry: Option<WallGeometry>,
    pub bounds: BoundaryType,
    pub nextto: Option<String>,
}

Cerramiento exterior o interior Puede definirse su configuración geométrica por polígono o por localización respecto al espacio padre.

Fields

name: String

Nombre

space: String

Espacio en al que pertenece el cerramiento

cons: String

Definición de la composición de capas del cerramiento Incialmente contiene un elemento CONSTRUCTION y se sustituye en el postproceso por LAYERS

location: Option<String>

Posición respecto al espacio asociado (TOP, BOTTOM, nombreespacio)

tilt: f32

Inclinación (grados sexagesimales) Ángulo entre el eje Z y la normal exterior del muro

geometry: Option<WallGeometry>

Posición definida por polígono

bounds: BoundaryType

Tipos de cerramiento:

  • UNDERGROUND: cerramiento en contacto con el terreno (UNDERGROUND-WALL)
  • EXTERIOR: cerramiento en contacto con el aire exterior (EXTERIOR-WALL, ROOF)
  • INTERIOR: cerramiento interior entre dos espacios (STANDARD en BDL)
  • ADIABATIC: cerramiento que no conduce calor (a otro espacio) pero lo almacena Existen otros tipos en BDL pero HULC no los admite:
  • INTERNAL: cerramiento interior a un espacio (no comunica espacios)
  • AIR: superficie interior a un espacio, sin masa, pero que admite convección
nextto: Option<String>

Espacio adyacente que conecta con el espacio padre (solo en algunos tipos de cerramientos interiores (no adiabático o superficie interior))

Implementations

impl Wall[src]

pub fn gross_area(&self, db: &Data) -> Result<f32, Error>[src]

Superficie bruta (incluyendo huecos) del muro (m2)

TODO: la búsqueda de polígonos y espacios no es óptima (se podría cachear)

pub fn net_area(&self, db: &Data) -> Result<f32, Error>[src]

Superficie neta (sin huecos) del cerramiento (m2)

pub fn perimeter(&self, db: &Data) -> Result<f32, Error>[src]

Perímetro del cerramiento (m)

pub fn azimuth(&self, northangle: f32, db: &Data) -> Result<f32, Error>[src]

Azimut, ángulo del muro respecto al norte (grados sexagesimales)

Ángulo entre el eje Y del espacio y la proyección horizontal de la normal exterior del muro Se puede indicar una desviación del norte geográfico respecto al geométrico (northangle)

Se calcula:

  1. Los elementos horizontales se definen con azimut igual a 0.0
  2. Los elementos definidos por geometría ya tiene definido su azimut
  3. Los elementos definidos por vértice de polígono del espacio consultan el azimuth del polígono del espacio

pub fn position(&self) -> Tilt[src]

Posición del elemento (TOP, BOTTOM, SIDE) según su inclinación Los elementos con inclinación > 60º Con la horizontal son verticales.

Trait Implementations

impl Clone for Wall[src]

impl Debug for Wall[src]

impl Default for Wall[src]

impl TryFrom<BdlBlock> for Wall[src]

type Error = Error

The type returned in the event of a conversion error.

pub fn try_from(value: BdlBlock) -> Result<Self, Self::Error>[src]

Conversión de bloque BDL a cerramiento (cerramiento exterior, interior, cubierta o elemento en contacto con el terreno)

Ejemplos en BDL de EXTERIOR-WALL y ROOF:

   "P01_E02_PE006" = EXTERIOR-WALL
        ABSORPTANCE   =            0.6
        COMPROBAR-REQUISITOS-MINIMOS = YES
        TYPE_ABSORPTANCE    = 1
        COLOR_ABSORPTANCE   = 0
        DEGREE_ABSORPTANCE   = 2
        CONSTRUCCION_MURO  = "muro_opaco"
        CONSTRUCTION  = "muro_opaco0.60"
        LOCATION      = SPACE-V11
        ..
    "P02_E01_FE001" = EXTERIOR-WALL
        ABSORPTANCE   =           0.95
        COMPROBAR-REQUISITOS-MINIMOS = YES
        TYPE_ABSORPTANCE    = 0
        COLOR_ABSORPTANCE   = 7
        DEGREE_ABSORPTANCE   = 2
        CONSTRUCCION_MURO  = "muro_opaco"  
        CONSTRUCTION  = "muro_opaco0.95"  
        X             =       -49.0098
        Y             =              0
        Z             =              0
        AZIMUTH       =             90
        TILT          =            180
        POLYGON       = "P02_E01_FE001_Poligono3"
        ..
    "P03_E01_CUB001" = ROOF
        ABSORPTANCE   =            0.6
        COMPROBAR-REQUISITOS-MINIMOS = YES
        TYPE_ABSORPTANCE    = 0
        COLOR_ABSORPTANCE   = 0
        DEGREE_ABSORPTANCE   = 2
        CONSTRUCTION  = "SATE"  
        X             =          2.496
        Y             =         -4.888
        Z             =              3
        AZIMUTH       =            180
        LOCATION      = TOP  
        POLYGON       = "P03_E01_FE004_Poligono3"
        ..    
    "P03_E01_CUB001" = ROOF
        ABSORPTANCE   =            0.6
        COMPROBAR-REQUISITOS-MINIMOS = YES
        TYPE_ABSORPTANCE    = 0
        COLOR_ABSORPTANCE   = 0
        DEGREE_ABSORPTANCE   = 2
        CONSTRUCTION  = "cubierta"
        LOCATION      = TOP
        ..

XXX: atributos no trasladados: XXX: propiedades para definir el estado de la interfaz para la selección de la absortividad: XXX: TYPE_ABSORPTANCE, COLOR_ABSORPTANCE, DEGREE_ABSORPTANCE XXX: Atributos no trasladados: COMPROBAR-REQUISITOS-MINIMOS, CONSTRUCCION_MURO

Ejemplos en BDL de INTERIOR-WALL:

   "P01_E02_Med001" = INTERIOR-WALL
        INT-WALL-TYPE = STANDARD
        NEXT-TO       = "P01_E07"
        COMPROBAR-REQUISITOS-MINIMOS = NO
        CONSTRUCTION  = "tabique"
        LOCATION      = SPACE-V1
        ..
    "P02_E01_FI002" = INTERIOR-WALL
        INT-WALL-TYPE = STANDARD  
        NEXT-TO       = "P01_E04"  
        COMPROBAR-REQUISITOS-MINIMOS = NO
        CONSTRUCTION  = "forjado_interior"                 
        X             =         -38.33
        Y             =           3.63
        Z             =              0
        AZIMUTH       =             90
        TILT          =            180
        POLYGON       = "P02_E01_FI002_Poligono2"
        ..

XXX: atributos no trasladados: Ninguno

Ejemplos en BDL de UNDERGROUND-WALL:

   "P01_E01_FTER001" = UNDERGROUND-WALL
    Z-GROUND      =              0
    COMPROBAR-REQUISITOS-MINIMOS = YES
                   CONSTRUCTION  = "solera tipo"
                   LOCATION      = BOTTOM
                   AREA          =        418.4805
                   PERIMETRO     =        65.25978
                         ..
                   "solera tipo" =  CONSTRUCTION
                         TYPE   = LAYERS
                         LAYERS = "solera tipo"
                         ..

XXX: No se han trasladado las variables de AREA y PERIMETRO porque se pueden calcular y los valores comprobados en algunos archivos no son correctos XXX: Ignoramos "Z-GROUND", la profundidad del elemento en el terreno, ya que no es del BDL y es menos fiable que min(space.z, 0.0)

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.