예제 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Face" /> class.
        /// </summary>
        /// <param name="geometry">Planar Face3D for the geometry. (required).</param>
        /// <param name="faceType">faceType (required).</param>
        /// <param name="boundaryCondition">boundaryCondition (required).</param>
        /// <param name="properties">Extension properties for particular simulation engines (Radiance, EnergyPlus). (required).</param>
        /// <param name="apertures">Apertures assigned to this Face. Should be coplanar with this Face and completely within the boundary of the Face to be valid..</param>
        /// <param name="doors">Doors assigned to this Face. Should be coplanar with this Face and completely within the boundary of the Face to be valid..</param>
        /// <param name="indoorShades">Shades assigned to the interior side of this object..</param>
        /// <param name="outdoorShades">Shades assigned to the exterior side of this object (eg. balcony, overhang)..</param>
        /// <param name="identifier">Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be &lt; 100 characters and not contain any spaces or special characters. (required).</param>
        /// <param name="displayName">Display name of the object with no character restrictions..</param>
        /// <param name="userData">Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list)..</param>
        public Face
        (
            string identifier, Face3D geometry, FaceType faceType, AnyOf <Ground, Outdoors, Adiabatic, Surface> boundaryCondition, FacePropertiesAbridged properties,                                            // Required parameters
            string displayName = default, Object userData = default, List <Aperture> apertures = default, List <Door> doors = default, List <Shade> indoorShades = default, List <Shade> outdoorShades = default // Optional parameters
        ) : base(identifier: identifier, displayName: displayName, userData: userData)                                                                                                                           // BaseClass
        {
            // to ensure "geometry" is required (not null)
            this.Geometry = geometry ?? throw new ArgumentNullException("geometry is a required property for Face and cannot be null");
            this.FaceType = faceType;
            // to ensure "boundaryCondition" is required (not null)
            this.BoundaryCondition = boundaryCondition ?? throw new ArgumentNullException("boundaryCondition is a required property for Face and cannot be null");
            // to ensure "properties" is required (not null)
            this.Properties    = properties ?? throw new ArgumentNullException("properties is a required property for Face and cannot be null");
            this.Apertures     = apertures;
            this.Doors         = doors;
            this.IndoorShades  = indoorShades;
            this.OutdoorShades = outdoorShades;

            // Set non-required readonly properties with defaultValue
            this.Type = "Face";

            // check if object is valid, only check for inherited class
            if (this.GetType() == typeof(Face))
            {
                this.IsValid(throwException: true);
            }
        }
예제 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="StateGeometryAbridged" /> class.
        /// </summary>
        /// <param name="geometry">A ladybug_geometry Face3D. (required).</param>
        /// <param name="modifier">A string for a Honeybee Radiance Modifier identifier (default: None)..</param>
        /// <param name="modifierDirect">A string for Honeybee Radiance Modifier identifiers to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None)..</param>
        /// <param name="identifier">Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files. (required).</param>
        /// <param name="displayName">Display name of the object with no character restrictions..</param>
        public StateGeometryAbridged
        (
            string identifier, Face3D geometry,                                                      // Required parameters
            string displayName = default, string modifier = default, string modifierDirect = default // Optional parameters
        ) : base(identifier: identifier, displayName: displayName)                                   // BaseClass
        {
            // to ensure "geometry" is required (not null)
            this.Geometry       = geometry ?? throw new ArgumentNullException("geometry is a required property for StateGeometryAbridged and cannot be null");
            this.Modifier       = modifier;
            this.ModifierDirect = modifierDirect;

            // Set non-required readonly properties with defaultValue
            this.Type = "StateGeometryAbridged";
        }
예제 #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Shade" /> class.
        /// </summary>
        /// <param name="geometry">Planar Face3D for the geometry. (required).</param>
        /// <param name="properties">Extension properties for particular simulation engines (Radiance, EnergyPlus). (required).</param>
        /// <param name="isDetached">Boolean to note whether this shade is detached from any of the other geometry in the model. Cases where this should be True include shade representing surrounding buildings or context. Note that this should always be False for shades assigned to parent objects. (default to false).</param>
        /// <param name="identifier">Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be &lt; 100 characters and not contain any spaces or special characters. (required).</param>
        /// <param name="displayName">Display name of the object with no character restrictions..</param>
        /// <param name="userData">Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list)..</param>
        public Shade
        (
            string identifier, Face3D geometry, ShadePropertiesAbridged properties,          // Required parameters
            string displayName = default, Object userData = default, bool isDetached = false // Optional parameters
        ) : base(identifier: identifier, displayName: displayName, userData: userData)       // BaseClass
        {
            // to ensure "geometry" is required (not null)
            this.Geometry = geometry ?? throw new ArgumentNullException("geometry is a required property for Shade and cannot be null");
            // to ensure "properties" is required (not null)
            this.Properties = properties ?? throw new ArgumentNullException("properties is a required property for Shade and cannot be null");
            this.IsDetached = isDetached;

            // Set non-required readonly properties with defaultValue
            this.Type = "Shade";
        }
예제 #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Aperture" /> class.
        /// </summary>
        /// <param name="geometry">Planar Face3D for the geometry. (required).</param>
        /// <param name="boundaryCondition">boundaryCondition (required).</param>
        /// <param name="properties">Extension properties for particular simulation engines (Radiance, EnergyPlus). (required).</param>
        /// <param name="isOperable">Boolean to note whether the Aperture can be opened for ventilation. (default to false).</param>
        /// <param name="indoorShades">Shades assigned to the interior side of this object (eg. window sill, light shelf)..</param>
        /// <param name="outdoorShades">Shades assigned to the exterior side of this object (eg. mullions, louvers)..</param>
        /// <param name="identifier">Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be &lt; 100 characters and not contain any spaces or special characters. (required).</param>
        /// <param name="displayName">Display name of the object with no character restrictions..</param>
        /// <param name="userData">Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list)..</param>
        public Aperture
        (
            string identifier, Face3D geometry, AnyOf <Outdoors, Surface> boundaryCondition, AperturePropertiesAbridged properties,                                     // Required parameters
            string displayName = default, Object userData = default, bool isOperable = false, List <Shade> indoorShades = default, List <Shade> outdoorShades = default // Optional parameters
        ) : base(identifier: identifier, displayName: displayName, userData: userData)                                                                                  // BaseClass
        {
            // to ensure "geometry" is required (not null)
            this.Geometry = geometry ?? throw new ArgumentNullException("geometry is a required property for Aperture and cannot be null");
            // to ensure "boundaryCondition" is required (not null)
            this.BoundaryCondition = boundaryCondition ?? throw new ArgumentNullException("boundaryCondition is a required property for Aperture and cannot be null");
            // to ensure "properties" is required (not null)
            this.Properties    = properties ?? throw new ArgumentNullException("properties is a required property for Aperture and cannot be null");
            this.IsOperable    = isOperable;
            this.IndoorShades  = indoorShades;
            this.OutdoorShades = outdoorShades;

            // Set non-required readonly properties with defaultValue
            this.Type = "Aperture";
        }
예제 #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Shade" /> class.
        /// </summary>
        /// <param name="name">Name of the object used in all simulation engines. Must not contain spaces and use only letters, digits and underscores/dashes. It cannot be longer than 100 characters. (required).</param>
        /// <param name="geometry">Planar Face3D for the geometry. (required).</param>
        /// <param name="properties">Extension properties for particular simulation engines (Radiance, EnergyPlus). (required).</param>
        /// <param name="displayName">Display name of the object with no restrictions..</param>
        /// <param name="type">type (default to &quot;Shade&quot;).</param>
        public Shade(string name, Face3D geometry, ShadePropertiesAbridged properties, string displayName = default, string type = "Shade")
        {
            // to ensure "name" is required (not null)
            if (name == null)
            {
                throw new InvalidDataException("name is a required property for Shade and cannot be null");
            }
            else
            {
                this.Name = name;
            }

            // to ensure "geometry" is required (not null)
            if (geometry == null)
            {
                throw new InvalidDataException("geometry is a required property for Shade and cannot be null");
            }
            else
            {
                this.Geometry = geometry;
            }

            // to ensure "properties" is required (not null)
            if (properties == null)
            {
                throw new InvalidDataException("properties is a required property for Shade and cannot be null");
            }
            else
            {
                this.Properties = properties;
            }

            this.DisplayName = displayName;
            // use default value if no "type" provided
            if (type == null)
            {
                this.Type = "Shade";
            }
            else
            {
                this.Type = type;
            }
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="StateGeometryAbridged" /> class.
        /// </summary>
        /// <param name="geometry">A ladybug_geometry Face3D. (required).</param>
        /// <param name="modifier">A string for a Honeybee Radiance Modifier identifier (default: None)..</param>
        /// <param name="modifierDirect">A string for Honeybee Radiance Modifier identifiers to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None)..</param>
        /// <param name="identifier">Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files. (required).</param>
        /// <param name="displayName">Display name of the object with no character restrictions..</param>
        public StateGeometryAbridged
        (
            string identifier, Face3D geometry,                                                      // Required parameters
            string displayName = default, string modifier = default, string modifierDirect = default // Optional parameters
        ) : base(identifier: identifier, displayName: displayName)                                   // BaseClass
        {
            // to ensure "geometry" is required (not null)
            this.Geometry       = geometry ?? throw new ArgumentNullException("geometry is a required property for StateGeometryAbridged and cannot be null");
            this.Modifier       = modifier;
            this.ModifierDirect = modifierDirect;

            // Set non-required readonly properties with defaultValue
            this.Type = "StateGeometryAbridged";

            // check if object is valid, only check for inherited class
            if (this.GetType() == typeof(StateGeometryAbridged))
            {
                this.IsValid(throwException: true);
            }
        }
예제 #7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Face" /> class.
        /// </summary>
        /// <param name="name">Name of the object used in all simulation engines. Must not contain spaces and use only letters, digits and underscores/dashes. It cannot be longer than 100 characters. (required).</param>
        /// <param name="geometry">Planar Face3D for the geometry. (required).</param>
        /// <param name="faceType">faceType (required).</param>
        /// <param name="boundaryCondition">boundaryCondition (required).</param>
        /// <param name="properties">Extension properties for particular simulation engines (Radiance, EnergyPlus). (required).</param>
        /// <param name="displayName">Display name of the object with no restrictions..</param>
        /// <param name="type">type (default to &quot;Face&quot;).</param>
        /// <param name="apertures">Apertures assigned to this Face. Should be coplanar with this Face and completely within the boundary of the Face to be valid..</param>
        /// <param name="doors">Doors assigned to this Face. Should be coplanar with this Face and completely within the boundary of the Face to be valid..</param>
        /// <param name="indoorShades">Shades assigned to the interior side of this object..</param>
        /// <param name="outdoorShades">Shades assigned to the exterior side of this object (eg. balcony, overhang)..</param>
        public Face(string name, Face3D geometry, FaceTypeEnum faceType, AnyOf <Ground, Outdoors, Adiabatic, Surface> boundaryCondition, FacePropertiesAbridged properties, string displayName = default, string type = "Face", List <Aperture> apertures = default, List <Door> doors = default, List <Shade> indoorShades = default, List <Shade> outdoorShades = default)
        {
            // to ensure "name" is required (not null)
            if (name == null)
            {
                throw new InvalidDataException("name is a required property for Face and cannot be null");
            }
            else
            {
                this.Name = name;
            }

            // to ensure "geometry" is required (not null)
            if (geometry == null)
            {
                throw new InvalidDataException("geometry is a required property for Face and cannot be null");
            }
            else
            {
                this.Geometry = geometry;
            }

            // to ensure "faceType" is required (not null)
            if (faceType == null)
            {
                throw new InvalidDataException("faceType is a required property for Face and cannot be null");
            }
            else
            {
                this.FaceType = faceType;
            }

            // to ensure "boundaryCondition" is required (not null)
            if (boundaryCondition == null)
            {
                throw new InvalidDataException("boundaryCondition is a required property for Face and cannot be null");
            }
            else
            {
                this.BoundaryCondition = boundaryCondition;
            }

            // to ensure "properties" is required (not null)
            if (properties == null)
            {
                throw new InvalidDataException("properties is a required property for Face and cannot be null");
            }
            else
            {
                this.Properties = properties;
            }

            this.DisplayName = displayName;
            // use default value if no "type" provided
            if (type == null)
            {
                this.Type = "Face";
            }
            else
            {
                this.Type = type;
            }
            this.Apertures     = apertures;
            this.Doors         = doors;
            this.IndoorShades  = indoorShades;
            this.OutdoorShades = outdoorShades;
        }
예제 #8
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Door" /> class.
        /// </summary>
        /// <param name="name">Name of the object used in all simulation engines. Must not contain spaces and use only letters, digits and underscores/dashes. It cannot be longer than 100 characters. (required).</param>
        /// <param name="geometry">Planar Face3D for the geometry. (required).</param>
        /// <param name="boundaryCondition">boundaryCondition (required).</param>
        /// <param name="properties">Extension properties for particular simulation engines (Radiance, EnergyPlus). (required).</param>
        /// <param name="displayName">Display name of the object with no restrictions..</param>
        /// <param name="type">type (default to &quot;Door&quot;).</param>
        /// <param name="isGlass">Boolean to note whether this object is a glass door as opposed to an opaque door. (default to false).</param>
        /// <param name="indoorShades">Shades assigned to the interior side of this object..</param>
        /// <param name="outdoorShades">Shades assigned to the exterior side of this object (eg. entryway awning)..</param>
        public Door(string name, Face3D geometry, AnyOf <Outdoors, Surface> boundaryCondition, DoorPropertiesAbridged properties, string displayName = default, string type = "Door", bool isGlass = false, List <Shade> indoorShades = default, List <Shade> outdoorShades = default)
        {
            // to ensure "name" is required (not null)
            if (name == null)
            {
                throw new InvalidDataException("name is a required property for Door and cannot be null");
            }
            else
            {
                this.Name = name;
            }

            // to ensure "geometry" is required (not null)
            if (geometry == null)
            {
                throw new InvalidDataException("geometry is a required property for Door and cannot be null");
            }
            else
            {
                this.Geometry = geometry;
            }

            // to ensure "boundaryCondition" is required (not null)
            if (boundaryCondition == null)
            {
                throw new InvalidDataException("boundaryCondition is a required property for Door and cannot be null");
            }
            else
            {
                this.BoundaryCondition = boundaryCondition;
            }

            // to ensure "properties" is required (not null)
            if (properties == null)
            {
                throw new InvalidDataException("properties is a required property for Door and cannot be null");
            }
            else
            {
                this.Properties = properties;
            }

            this.DisplayName = displayName;
            // use default value if no "type" provided
            if (type == null)
            {
                this.Type = "Door";
            }
            else
            {
                this.Type = type;
            }
            // use default value if no "isGlass" provided
            if (isGlass == null)
            {
                this.IsGlass = false;
            }
            else
            {
                this.IsGlass = isGlass;
            }
            this.IndoorShades  = indoorShades;
            this.OutdoorShades = outdoorShades;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="RadianceSubFaceStateAbridged" /> class.
        /// </summary>
        /// <param name="vmtxGeometry">A Face3D for the view matrix geometry (default: None)..</param>
        /// <param name="dmtxGeometry">A Face3D for the daylight matrix geometry (default: None)..</param>
        /// <param name="modifier">A Radiance Modifier identifier (default: None)..</param>
        /// <param name="modifierDirect">A Radiance Modifier identifier (default: None)..</param>
        /// <param name="shades">A list of StateGeometryAbridged objects (default: None)..</param>
        public RadianceSubFaceStateAbridged
        (
            // Required parameters
            string modifier = default, string modifierDirect = default, List <StateGeometryAbridged> shades = default, Face3D vmtxGeometry = default, Face3D dmtxGeometry = default // Optional parameters
        ) : base(modifier: modifier, modifierDirect: modifierDirect, shades: shades)                                                                                                // BaseClass
        {
            this.VmtxGeometry = vmtxGeometry;
            this.DmtxGeometry = dmtxGeometry;

            // Set non-required readonly properties with defaultValue
            this.Type = "RadianceSubFaceStateAbridged";
        }
예제 #10
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RadianceSubFaceStateAbridged" /> class.
        /// </summary>
        /// <param name="vmtxGeometry">A Face3D for the view matrix geometry (default: None)..</param>
        /// <param name="dmtxGeometry">A Face3D for the daylight matrix geometry (default: None)..</param>
        /// <param name="modifier">A Radiance Modifier identifier (default: None)..</param>
        /// <param name="modifierDirect">A Radiance Modifier identifier (default: None)..</param>
        /// <param name="shades">A list of StateGeometryAbridged objects (default: None)..</param>
        public RadianceSubFaceStateAbridged
        (
            // Required parameters
            string modifier = default, string modifierDirect = default, List <StateGeometryAbridged> shades = default, Face3D vmtxGeometry = default, Face3D dmtxGeometry = default // Optional parameters
        ) : base(modifier: modifier, modifierDirect: modifierDirect, shades: shades)                                                                                                // BaseClass
        {
            this.VmtxGeometry = vmtxGeometry;
            this.DmtxGeometry = dmtxGeometry;

            // Set non-required readonly properties with defaultValue
            this.Type = "RadianceSubFaceStateAbridged";

            // check if object is valid, only check for inherited class
            if (this.GetType() == typeof(RadianceSubFaceStateAbridged))
            {
                this.IsValid(throwException: true);
            }
        }