-
Notifications
You must be signed in to change notification settings - Fork 0
DiGi.Solar.Classes
Represents the result of a geometrical shading solver, containing spatial data such as the plane and polygonal faces used for shading calculations.
public class GeometricalShadingSolverResult : DiGi.Solar.Classes.ShadingSolverResultInheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Core.Classes.UniqueObject → DiGi.Core.Classes.GuidObject → DiGi.Core.Classes.GuidResult → DiGi.Core.Classes.GuidResult<IShadingElement> → ShadingSolverResult → GeometricalShadingSolverResult
Initializes a new instance of the GeometricalShadingSolverResult class by cloning an existing result.
public GeometricalShadingSolverResult(DiGi.Solar.Classes.GeometricalShadingSolverResult? geometricalShadingSolverResult);geometricalShadingSolverResult GeometricalShadingSolverResult
The source geometrical shading solver result to clone.
Initializes a new instance of the GeometricalShadingSolverResult class.
public GeometricalShadingSolverResult(System.DateTime dateTime, DiGi.Geometry.Spatial.Classes.Plane? plane, System.Collections.Generic.IEnumerable<DiGi.Geometry.Planar.Interfaces.IPolygonalFace2D>? polygonalFace2Ds);dateTime System.DateTime
The date and time associated with the shading result.
plane DiGi.Geometry.Spatial.Classes.Plane
The plane on which the geometrical calculations are performed.
polygonalFace2Ds System.Collections.Generic.IEnumerable<DiGi.Geometry.Planar.Interfaces.IPolygonalFace2D>
The collection of 2D polygonal faces involved in the shading.
Initializes a new instance of the GeometricalShadingSolverResult class from a JSON object.
public GeometricalShadingSolverResult(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing the result data.
Gets the total area of all associated 2D polygonal faces.
public override double Area { get; }Implements Area
Gets the plane associated with this shading solver result.
public DiGi.Geometry.Spatial.Classes.Plane? Plane { get; }DiGi.Geometry.Spatial.Classes.Plane
Gets the list of 2D polygonal faces associated with this shading solver result.
public System.Collections.Generic.List<DiGi.Geometry.Planar.Interfaces.IPolygonalFace2D>? PolygonalFace2Ds { get; }System.Collections.Generic.List<DiGi.Geometry.Planar.Interfaces.IPolygonalFace2D>
Converts the 2D polygonal faces to their 3D representations based on the associated plane.
public System.Collections.Generic.List<DiGi.Geometry.Spatial.Interfaces.IPolygonalFace3D>? GetPolygonalFace3Ds();System.Collections.Generic.List<DiGi.Geometry.Spatial.Interfaces.IPolygonalFace3D>
A list of 3D polygonal faces, or null if the plane or 2D faces are not defined.
Represents the result of a numerical shading solver calculation, providing details such as the calculated area.
public class NumericalShadingSolverResult : DiGi.Solar.Classes.ShadingSolverResultInheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Core.Classes.UniqueObject → DiGi.Core.Classes.GuidObject → DiGi.Core.Classes.GuidResult → DiGi.Core.Classes.GuidResult<IShadingElement> → ShadingSolverResult → NumericalShadingSolverResult
Initializes a new instance of the NumericalShadingSolverResult class by copying an existing result instance.
public NumericalShadingSolverResult(DiGi.Solar.Classes.NumericalShadingSolverResult numericalShadingSolverResult);numericalShadingSolverResult NumericalShadingSolverResult
The source NumericalShadingSolverResult instance to copy from.
Initializes a new instance of the NumericalShadingSolverResult class with a specified date time and area.
public NumericalShadingSolverResult(System.DateTime dateTime, double area);dateTime System.DateTime
The date and time associated with the shading calculation result.
area System.Double
The numerical value of the calculated shading area.
Initializes a new instance of the NumericalShadingSolverResult class from a JSON object.
public NumericalShadingSolverResult(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The System.Text.Json.Nodes.JsonObject containing the result data.
Gets the numerical shading area.
public override double Area { get; }Implements Area
Represents an element that provides shading in a solar analysis context.
public class ShadingElement : DiGi.Core.Classes.GuidObject, DiGi.Solar.Interfaces.IShadingElement, DiGi.Solar.Interfaces.IShadingUniqueObject, DiGi.Solar.Interfaces.IShadingSerializableObject, DiGi.Solar.Interfaces.IShadingObject, DiGi.Solar.Interfaces.ISolarObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IUniqueObjectInheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Core.Classes.UniqueObject → DiGi.Core.Classes.GuidObject → ShadingElement
Implements IShadingElement, IShadingUniqueObject, IShadingSerializableObject, IShadingObject, ISolarObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IUniqueObject
Initializes a new instance of the ShadingElement class with specified geometry and properties, and a generated unique identifier.
public ShadingElement(DiGi.Geometry.Spatial.Interfaces.IPolygonalFace3D? polygonalFace3D, bool shadingOnly);polygonalFace3D DiGi.Geometry.Spatial.Interfaces.IPolygonalFace3D
The 3D polygonal face representing the geometry of the shading element.
shadingOnly System.Boolean
A flag indicating if the element is used exclusively for shading calculations.
Initializes a new instance of the ShadingElement class by cloning an existing shading element.
public ShadingElement(DiGi.Solar.Classes.ShadingElement? shadingElement);shadingElement ShadingElement
The source ShadingElement to clone.
Initializes a new instance of the ShadingElement class with specified properties and a generated unique identifier.
public ShadingElement(string? reference, DiGi.Geometry.Spatial.Interfaces.IPolygonalFace3D? polygonalFace3D, bool shadingOnly);reference System.String
The reference string identifying the element.
polygonalFace3D DiGi.Geometry.Spatial.Interfaces.IPolygonalFace3D
The 3D polygonal face representing the geometry of the shading element.
shadingOnly System.Boolean
A flag indicating if the element is used exclusively for shading calculations.
Initializes a new instance of the ShadingElement class with a specified unique identifier and properties.
public ShadingElement(System.Guid guid, string? reference, DiGi.Geometry.Spatial.Interfaces.IPolygonalFace3D? polygonalFace3D, bool shadingOnly);guid System.Guid
The unique identifier for the object.
reference System.String
The reference string identifying the element.
polygonalFace3D DiGi.Geometry.Spatial.Interfaces.IPolygonalFace3D
The 3D polygonal face representing the geometry of the shading element.
shadingOnly System.Boolean
A flag indicating if the element is used exclusively for shading calculations.
Initializes a new instance of the ShadingElement class from a JSON object.
public ShadingElement(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The System.Text.Json.Nodes.JsonObject containing the element data.
Gets the 3D polygonal face associated with this shading element.
public DiGi.Geometry.Spatial.Interfaces.IPolygonalFace3D? PolygonalFace3D { get; }Implements PolygonalFace3D
DiGi.Geometry.Spatial.Interfaces.IPolygonalFace3D
Gets the reference identifier of the shading element.
public string? Reference { get; }Implements Reference
Gets a value indicating whether the element is used exclusively for shading calculations.
public bool ShadingOnly { get; }Implements ShadingOnly
Represents a shading model that manages the relationship between shading elements and their corresponding solver results.
public class ShadingModel : DiGi.Core.Classes.GuidObject, DiGi.Solar.Interfaces.ISolarObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.IGuidModel, DiGi.Core.Interfaces.ISerializableModel, DiGi.Core.Interfaces.IModel, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IGuidObject, DiGi.Core.Interfaces.IUniqueObjectInheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Core.Classes.UniqueObject → DiGi.Core.Classes.GuidObject → ShadingModel
Implements ISolarObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.IGuidModel, DiGi.Core.Interfaces.ISerializableModel, DiGi.Core.Interfaces.IModel, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IGuidObject, DiGi.Core.Interfaces.IUniqueObject
Initializes a new instance of the ShadingModel class with the specified UTC offset and coordinates.
public ShadingModel(DiGi.Core.Enums.UTC uTC, DiGi.Core.Classes.Coordinates? coordinates);The UTC time zone offset.
coordinates DiGi.Core.Classes.Coordinates
The geographic coordinates associated with the model.
Initializes a new instance of the ShadingModel class by cloning an existing shading model.
public ShadingModel(DiGi.Solar.Classes.ShadingModel shadingModel);shadingModel ShadingModel
The source shading model to clone.
Initializes a new instance of the ShadingModel class from a JSON object.
public ShadingModel(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing the model data.
Gets the geographic coordinates associated with the shading model.
public DiGi.Core.Classes.Coordinates? Coordinates { get; }Gets the UTC time zone offset for the shading model.
public DiGi.Core.Enums.UTC UTC { get; }Assigns a shading element and its corresponding solver results to the model's relation cluster.
public bool Assign(DiGi.Solar.Interfaces.IShadingElement? shadingElement, System.Collections.Generic.IEnumerable<DiGi.Solar.Interfaces.IShadingSolverResult>? shadingSolverResults);shadingElement IShadingElement
The shading element to assign.
shadingSolverResults System.Collections.Generic.IEnumerable<IShadingSolverResult>
A collection of solver results associated with the element.
System.Boolean
True if the assignment was successful; otherwise, false.
Retrieves a list of shading elements of the specified type, optionally filtered by their shading-only status.
public System.Collections.Generic.List<TShadingElement>? GetShadingElements<TShadingElement>(System.Nullable<bool> shadingOnly=null)
where TShadingElement : DiGi.Solar.Interfaces.IShadingElement;TShadingElement
The type of shading element to retrieve.
shadingOnly System.Nullable<System.Boolean>
Optional filter to include only elements that are marked as shading only.
System.Collections.Generic.List<TShadingElement>
A list of matching shading elements, or null if none were found.
Retrieves all shading solver results of the specified type.
public System.Collections.Generic.List<TShadingSolverResult>? GetShadingSolverResults<TShadingSolverResult>()
where TShadingSolverResult : DiGi.Solar.Interfaces.IShadingSolverResult;TShadingSolverResult
The type of solver result to retrieve.
System.Collections.Generic.List<TShadingSolverResult>
A list of matching solver results, or null if none were found.
Retrieves shading solver results of the specified type for a specific shading element.
public System.Collections.Generic.List<TShadingSolverResult>? GetShadingSolverResults<TShadingSolverResult>(DiGi.Solar.Interfaces.IShadingElement? shadingElement)
where TShadingSolverResult : DiGi.Solar.Interfaces.IShadingSolverResult;TShadingSolverResult
The type of solver result to retrieve.
shadingElement IShadingElement
The shading element associated with the results.
System.Collections.Generic.List<TShadingSolverResult>
A list of matching solver results, or null if the element is null or no results were found.
Attempts to calculate the shading factor for a specific element at a given date and time.
public bool TryGetShadingFactor(DiGi.Solar.Interfaces.IShadingElement shadingElement, System.DateTime dateTime, out double factor, bool interpolation=true);shadingElement IShadingElement
The shading element to evaluate.
dateTime System.DateTime
The date and time of evaluation.
factor System.Double
When this method returns, contains the calculated shading factor if successful; otherwise, System.Double.NaN.
interpolation System.Boolean
Whether to interpolate between known results if an exact match for the date and time is not found.
System.Boolean
True if a shading factor was successfully determined; otherwise, false.
Updates or adds a shading element to the model's relation cluster.
public bool Update(DiGi.Solar.Interfaces.IShadingElement shadingElement);shadingElement IShadingElement
The shading element to update.
System.Boolean
True if the element was successfully added or updated; otherwise, false.
Updates or adds a shading solver result to the model's relation cluster.
public bool Update(DiGi.Solar.Interfaces.IShadingSolverResult shadingSolverResult);shadingSolverResult IShadingSolverResult
The shading solver result to update.
System.Boolean
True if the solver result was successfully added or updated; otherwise, false.
Represents a cluster of shading relations, associating shading unique objects with their corresponding shading relations.
public class ShadingRelationCluster : DiGi.Core.Relation.Classes.UniqueObjectRelationCluster<DiGi.Solar.Interfaces.IShadingUniqueObject, DiGi.Solar.Interfaces.IShadingRelation>, DiGi.Solar.Interfaces.ISolarObject, DiGi.Core.Interfaces.IObjectInheritance System.Object → DiGi.Core.Classes.Cluster<DiGi.Core.Classes.TypeReference,DiGi.Core.Interfaces.IUniqueReference,IShadingUniqueObject> → DiGi.Core.Classes.ValueCluster<DiGi.Core.Classes.TypeReference,DiGi.Core.Interfaces.IUniqueReference,IShadingUniqueObject> → DiGi.Core.Classes.SerializableObjectValueCluster<DiGi.Core.Classes.TypeReference,DiGi.Core.Interfaces.IUniqueReference,IShadingUniqueObject> → DiGi.Core.Classes.UniqueObjectValueCluster<IShadingUniqueObject> → DiGi.Core.Relation.Classes.UniqueObjectRelationCluster<IShadingUniqueObject,IShadingRelation> → ShadingRelationCluster
Implements ISolarObject, DiGi.Core.Interfaces.IObject
Initializes a new instance of the ShadingRelationCluster class.
public ShadingRelationCluster();Initializes a new instance of the ShadingRelationCluster class by copying another shading relation cluster.
public ShadingRelationCluster(DiGi.Solar.Classes.ShadingRelationCluster? shadingRelationCluster);shadingRelationCluster ShadingRelationCluster
The source shading relation cluster to copy from.
Initializes a new instance of the ShadingRelationCluster class from the specified JSON object.
public ShadingRelationCluster(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing the cluster data.
Adds a shading solver result relation for the specified shading element and results.
public DiGi.Solar.Classes.ShadingSolverResultRelation? AddRelation(DiGi.Solar.Interfaces.IShadingElement? shadingElement, System.Collections.Generic.IEnumerable<DiGi.Solar.Interfaces.IShadingSolverResult>? shadingSolverResults);shadingElement IShadingElement
The shading element associated with the relation.
shadingSolverResults System.Collections.Generic.IEnumerable<IShadingSolverResult>
The collection of shading solver results to associate.
ShadingSolverResultRelation
The newly created ShadingSolverResultRelation, or null if any input is null.
ShadingRelationCluster.GetShadingSolverResults<TShadingSolverResult>(ShadingSolverResultRelation) Method
Retrieves a list of shading solver results of the specified type from the given relation.
public System.Collections.Generic.List<TShadingSolverResult>? GetShadingSolverResults<TShadingSolverResult>(DiGi.Solar.Classes.ShadingSolverResultRelation? shadingSolverResultRelation)
where TShadingSolverResult : DiGi.Solar.Interfaces.IShadingSolverResult;TShadingSolverResult
The specific type of shading solver result to retrieve.
shadingSolverResultRelation ShadingSolverResultRelation
The relation containing the references to the solver results.
System.Collections.Generic.List<TShadingSolverResult>
A list of TShadingSolverResult instances, or null if no results are found.
Represents the result of a shading solver calculation.
public abstract class ShadingSolverResult : DiGi.Core.Classes.GuidResult<DiGi.Solar.Interfaces.IShadingElement>, DiGi.Solar.Interfaces.IShadingSolverResult, DiGi.Solar.Interfaces.IShadingUniqueObject, DiGi.Solar.Interfaces.IShadingSerializableObject, DiGi.Solar.Interfaces.IShadingObject, DiGi.Solar.Interfaces.ISolarObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IUniqueObject, DiGi.Core.Interfaces.IResult<DiGi.Solar.Interfaces.IShadingElement>, DiGi.Core.Interfaces.IResultInheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Core.Classes.UniqueObject → DiGi.Core.Classes.GuidObject → DiGi.Core.Classes.GuidResult → DiGi.Core.Classes.GuidResult<IShadingElement> → ShadingSolverResult
Derived
↳ GeometricalShadingSolverResult
↳ NumericalShadingSolverResult
Implements IShadingSolverResult, IShadingUniqueObject, IShadingSerializableObject, IShadingObject, ISolarObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IUniqueObject, DiGi.Core.Interfaces.IResult<IShadingElement>, DiGi.Core.Interfaces.IResult
Initializes a new instance of the ShadingSolverResult class by copying an existing shading solver result.
public ShadingSolverResult(DiGi.Solar.Classes.ShadingSolverResult? shadingSolverResult);shadingSolverResult ShadingSolverResult
The source shading solver result to copy from.
Initializes a new instance of the ShadingSolverResult class with a specified date and time.
public ShadingSolverResult(System.DateTime dateTime);dateTime System.DateTime
The date and time associated with the shading solver result.
Initializes a new instance of the ShadingSolverResult class from a JSON object.
public ShadingSolverResult(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing the result data.
Gets the area associated with the shading solver result.
public abstract double Area { get; }Implements Area
Gets the date and time associated with the shading solver result.
public System.DateTime DateTime { get; }Implements DateTime
Represents a one-to-many directional relationship between a shading element and its corresponding shading solver results.
public class ShadingSolverResultRelation : DiGi.Core.Relation.Classes.OneToManyDirectionalRelation<DiGi.Solar.Interfaces.IShadingElement, DiGi.Solar.Interfaces.IShadingSolverResult>, DiGi.Solar.Interfaces.IShadingRelation, DiGi.Solar.Interfaces.IShadingObject, DiGi.Solar.Interfaces.ISolarObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObjectInheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Core.Relation.Classes.Relation → DiGi.Core.Relation.Classes.Relation<IShadingElement,IShadingSolverResult> → DiGi.Core.Relation.Classes.OneToManyRelation<IShadingElement,IShadingSolverResult> → DiGi.Core.Relation.Classes.OneToManyDirectionalRelation<IShadingElement,IShadingSolverResult> → ShadingSolverResultRelation
Implements IShadingRelation, IShadingObject, ISolarObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject
Initializes a new instance of the ShadingSolverResultRelation class by copying an existing relation.
public ShadingSolverResultRelation(DiGi.Solar.Classes.ShadingSolverResultRelation shadingSolverResultRelation);shadingSolverResultRelation ShadingSolverResultRelation
The source relation to copy.
Initializes a new instance of the ShadingSolverResultRelation class with a specific shading element and a single solver result.
public ShadingSolverResultRelation(DiGi.Solar.Interfaces.IShadingElement shadingElement, DiGi.Solar.Interfaces.IShadingSolverResult shadingSolverResult);shadingElement IShadingElement
The parent shading element.
shadingSolverResult IShadingSolverResult
The related shading solver result.
Initializes a new instance of the ShadingSolverResultRelation class with a specific shading element and a collection of solver results.
public ShadingSolverResultRelation(DiGi.Solar.Interfaces.IShadingElement shadingElement, System.Collections.Generic.IEnumerable<DiGi.Solar.Interfaces.IShadingSolverResult> shadingSolverResults);shadingElement IShadingElement
The parent shading element.
shadingSolverResults System.Collections.Generic.IEnumerable<IShadingSolverResult>
The collection of related shading solver results.
Initializes a new instance of the ShadingSolverResultRelation class from a JSON object.
public ShadingSolverResultRelation(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing relation data, or null.