MeshLib Documentation
Loading...
Searching...
No Matches
MRSolarRadiation.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4#include "MRVector3.h"
5
6namespace MR
7{
8
10[[nodiscard]] MRMESH_API std::vector<Vector3f> sampleHalfSphere();
11
14{
16 Vector3f dir;
18 float radiation = 0;
19};
20
27[[nodiscard]] MRMESH_API VertScalars computeSkyViewFactor( const Mesh & terrain,
28 const VertCoords & samples, const VertBitSet & validSamples,
29 const std::vector<SkyPatch> & skyPatches,
30 BitSet * outSkyRays = nullptr, std::vector<MeshIntersectionResult>* outIntersections = nullptr );
31
36[[nodiscard]] MRMESH_API BitSet findSkyRays( const Mesh & terrain,
37 const VertCoords & samples, const VertBitSet & validSamples,
38 const std::vector<SkyPatch> & skyPatches, std::vector<MeshIntersectionResult>* outIntersections = nullptr );
39
40} //namespace MR
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
container of bits
Definition MRMesh/MRBitSet.h:27
Definition MRCameraOrientationPlugin.h:8
MRMESH_API BitSet findSkyRays(const Mesh &terrain, const VertCoords &samples, const VertBitSet &validSamples, const std::vector< SkyPatch > &skyPatches, std::vector< MeshIntersectionResult > *outIntersections=nullptr)
MRMESH_API VertScalars computeSkyViewFactor(const Mesh &terrain, const VertCoords &samples, const VertBitSet &validSamples, const std::vector< SkyPatch > &skyPatches, BitSet *outSkyRays=nullptr, std::vector< MeshIntersectionResult > *outIntersections=nullptr)
MRMESH_API std::vector< Vector3f > sampleHalfSphere()
returns quasi-uniform 145 samples on unit half-sphere z>0
Definition MRMesh/MRMesh.h:23
this class represents a portion of the sky, and its radiation
Definition MRSolarRadiation.h:14
float radiation
radiation of the patch depending on Sun's position, sky clearness and brightness, etc
Definition MRSolarRadiation.h:18
Vector3f dir
direction toward the center of the patch
Definition MRSolarRadiation.h:16