A Raster (2D Matrix) holding rasterized data of the terrain, see ShadingScene.addElevationRaster
A Three.js geometry holding the objects that cause shading, see ShadingScene.addShadingGeometry
A Three.js geometry holding the main object of the scene, see ShadingScene.addShadingGeometry
A timeseries of Skydomes holding averaged direct and diffuse irradiance data. See ShadingScene.addSolarIrradiance
Change the Color Map that is used for the colors of the simulated Three.js mesh. This is optional, the default colorMap is viridis (blue to green to yellow). Other options are colormaps.interpolateTwoColors or colormaps.interpolateThreeColors
Add a elevation model to the simulation scene.
List of Points with x,y,z coordinates, representing a digital elevation model (DEM). It is important that all values of x,y and z are given with same units. If x and y are given in lat / lon and z is given in meters, this will result in wrong simulation Results.
The point of the observer, ie the center of the building angle will be [0, ..., 2Pi] where the list has a lenght of azimuthDivisions
Adds a geometry as an outer geometry for the shading simulation. These geometries are responsible for shading.
Flat Buffer Array of a Three.js geometry, where three consecutive numbers of the array represent one 3D point and nine consecutive numbers represent one triangle.
Adds a geometry as a target for the shading simulation.
For these geometries, the PV potential will be simulated.
This geometry will also be used as a shading geometry, hence
it is not needed to additionally add it by using addShadingGeometry
.
Flat Buffer Array of a Three.js geometry, where three consecutive numbers of the array represent one 3D point and nine consecutive numbers represent one triangle.
Add data of solar irradiance to the scene. If it comes as a List of SolarIrradianceData, this is interpreted as a time series of skydomes.
Important Note: The first skydome of the list is used for the coloring of the final mesh! Check out the type definition of utils.SolarIrradianceData for more information.
Fetches a SolarIrradiance Object from a url and adds it to the ShadingScene.
This function is called as a last step, after the scene is fully build. It runs the shading simulation and returns a THREE.js colored mesh. The colors are chosen from the defined colorMap.
The input object containing information about the simulation.
A three.js colored mesh of the simulationGeometry. Each triangle gets an attribute called intensity, that holds the annual electricity in kwh/m2 that a PV system can generate. If ShadingScene.solarIrradiance is a timeseries of sky domes, the resulting intensities attribute is a flattened Float32Array of length T*N.
This class holds all information about the scene that is simulated. A ShadingScene is typically equipped with the following attributes: