-
Notifications
You must be signed in to change notification settings - Fork 0
DiGi.Solar.ComputeSharp.Classes
Provides a solver implementation to calculate shading effects on objects using ComputeSharp for GPU acceleration.
public class ShadingSolver : DiGi.Solar.Interfaces.IShadingObject, DiGi.Solar.Interfaces.ISolarObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISolver, DiGi.Core.Interfaces.IEvaluatorInheritance System.Object → ShadingSolver
Implements DiGi.Solar.Interfaces.IShadingObject, DiGi.Solar.Interfaces.ISolarObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISolver, DiGi.Core.Interfaces.IEvaluator
Initializes a new instance of the ShadingSolver class with the specified shading model and options.
public ShadingSolver(DiGi.Solar.Classes.ShadingModel? shadingModel, DiGi.Solar.ComputeSharp.Classes.ShadingSolverOptions? shadingSolverOptions);shadingModel DiGi.Solar.Classes.ShadingModel
The shading model to be used for calculations.
shadingSolverOptions ShadingSolverOptions
The options that configure the solver's behavior.
Initializes a new instance of the ShadingSolver class with the specified shading model and a collection of date-times.
public ShadingSolver(DiGi.Solar.Classes.ShadingModel? shadingModel, System.DateTime[]? dateTimes);shadingModel DiGi.Solar.Classes.ShadingModel
The shading model to be used for calculations.
dateTimes System.DateTime[]
An array of date-time values for which shading should be calculated.
Gets or sets the ShadingModel associated with this solver.
public DiGi.Solar.Classes.ShadingModel? ShadingModel { get; set; }DiGi.Solar.Classes.ShadingModel
Gets or sets the ShadingSolverOptions that define the parameters for the solving process.
public DiGi.Solar.ComputeSharp.Classes.ShadingSolverOptions? ShadingSolverOptions { get; set; }Executes the shading calculation process, utilizing GPU shaders to determine intersections and project shading results onto objects.
public bool Solve();Implements Solve()
System.Boolean
True if the solving operation completed successfully; otherwise, false.
Provides configuration options for the shading solver, including tolerances and time series settings.
public class ShadingSolverOptions : DiGi.Core.Classes.SerializableObject, 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.IOptionsInheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → ShadingSolverOptions
Implements 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.IOptions
Initializes a new instance of the ShadingSolverOptions class with default values.
public ShadingSolverOptions();Initializes a new instance of the ShadingSolverOptions class by copying values from an existing options instance.
public ShadingSolverOptions(DiGi.Solar.ComputeSharp.Classes.ShadingSolverOptions? shadingSolverOptions);shadingSolverOptions ShadingSolverOptions
The source shading solver options to copy from.
Initializes a new instance of the ShadingSolverOptions class using a JSON object.
public ShadingSolverOptions(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing the options data.
Gets or sets the angle tolerance used by the shading solver.
public double AngleTolerance { get; set; }Gets or sets the type of shading solver to be employed.
public DiGi.Solar.Enums.ShadingSolverType ShadingSolverType { get; set; }DiGi.Solar.Enums.ShadingSolverType
Gets or sets the time series used for shading calculations.
public DiGi.Core.Interfaces.ITimeSeries TimeSeries { get; set; }DiGi.Core.Interfaces.ITimeSeries
Gets or sets the distance tolerance used by the shading solver.
public double Tolerance { get; set; }