MeshLib C Docs
Loading...
Searching...
No Matches
MRSolarRadiation.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRVector3.h>
4#include <MRCMisc/exports.h>
5
6#include <stddef.h>
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12typedef struct MR_BitSet MR_BitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
13typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
14typedef struct MR_VertBitSet MR_VertBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
15typedef struct MR_VertCoords MR_VertCoords; // Defined in `#include <MRCMesh/MRVector.h>`.
16typedef struct MR_VertScalars MR_VertScalars; // Defined in `#include <MRCMesh/MRVector.h>`.
17typedef struct MR_std_vector_MR_MeshIntersectionResult MR_std_vector_MR_MeshIntersectionResult; // Defined in `#include <MRCMisc/std_vector_MR_MeshIntersectionResult.h>`.
18typedef struct MR_std_vector_MR_SkyPatch MR_std_vector_MR_SkyPatch; // Defined in `#include <MRCMisc/std_vector_MR_SkyPatch.h>`.
19typedef struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f; // Defined in `#include <MRCMisc/std_vector_MR_Vector3f.h>`.
20
21
24typedef struct MR_SkyPatch MR_SkyPatch;
25
30
36
41
47
53
58
64
68
73
77
79MRC_API const MR_SkyPatch *MR_SkyPatch_OffsetPtr(const MR_SkyPatch *ptr, ptrdiff_t i);
80
83
88
91
94
100
115MRC_API MR_VertScalars *MR_computeSkyViewFactor(const MR_Mesh *terrain, const MR_VertCoords *samples, const MR_VertBitSet *validSamples, const MR_std_vector_MR_SkyPatch *skyPatches, MR_BitSet *outSkyRays, MR_std_vector_MR_MeshIntersectionResult *outIntersections);
116
128MRC_API MR_BitSet *MR_findSkyRays(const MR_Mesh *terrain, const MR_VertCoords *samples, const MR_VertBitSet *validSamples, const MR_std_vector_MR_SkyPatch *skyPatches, MR_std_vector_MR_MeshIntersectionResult *outIntersections);
129
130#ifdef __cplusplus
131} // extern "C"
132#endif
struct MR_VertCoords MR_VertCoords
Definition MRAABBTreePoints.h:22
struct MR_VertBitSet MR_VertBitSet
Definition MRAABBTree.h:15
struct MR_VertScalars MR_VertScalars
Definition MRAggregateFlow.h:17
struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f
Definition MRBestFit.h:26
struct MR_BitSet MR_BitSet
Definition MRBitSet.h:179
struct MR_Mesh MR_Mesh
Definition MRCtm.h:13
MRC_API MR_SkyPatch * MR_SkyPatch_OffsetMutablePtr(MR_SkyPatch *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_std_vector_MR_MeshIntersectionResult MR_std_vector_MR_MeshIntersectionResult
Definition MRSolarRadiation.h:17
MRC_API float * MR_SkyPatch_GetMutable_radiation(MR_SkyPatch *_this)
MRC_API const MR_Vector3f * MR_SkyPatch_Get_dir(const MR_SkyPatch *_this)
MRC_API MR_VertScalars * MR_computeSkyViewFactor(const MR_Mesh *terrain, const MR_VertCoords *samples, const MR_VertBitSet *validSamples, const MR_std_vector_MR_SkyPatch *skyPatches, MR_BitSet *outSkyRays, MR_std_vector_MR_MeshIntersectionResult *outIntersections)
MRC_API MR_Vector3f * MR_SkyPatch_GetMutable_dir(MR_SkyPatch *_this)
MRC_API MR_SkyPatch * MR_SkyPatch_DefaultConstruct(void)
MRC_API const MR_SkyPatch * MR_SkyPatch_OffsetPtr(const MR_SkyPatch *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_std_vector_MR_Vector3f * MR_sampleHalfSphere(void)
MRC_API void MR_SkyPatch_DestroyArray(const MR_SkyPatch *_this)
Destroys a heap-allocated array of MR_SkyPatch. Does nothing if the pointer is null.
struct MR_std_vector_MR_SkyPatch MR_std_vector_MR_SkyPatch
Definition MRSolarRadiation.h:18
MRC_API MR_SkyPatch * MR_SkyPatch_DefaultConstructArray(size_t num_elems)
MRC_API void MR_SkyPatch_Destroy(const MR_SkyPatch *_this)
Destroys a heap-allocated instance of MR_SkyPatch. Does nothing if the pointer is null.
MRC_API void MR_SkyPatch_Set_dir(MR_SkyPatch *_this, MR_Vector3f value)
MRC_API const float * MR_SkyPatch_Get_radiation(const MR_SkyPatch *_this)
MRC_API MR_SkyPatch * MR_SkyPatch_ConstructFromAnother(const MR_SkyPatch *_other)
MRC_API MR_BitSet * MR_findSkyRays(const MR_Mesh *terrain, const MR_VertCoords *samples, const MR_VertBitSet *validSamples, const MR_std_vector_MR_SkyPatch *skyPatches, MR_std_vector_MR_MeshIntersectionResult *outIntersections)
MRC_API void MR_SkyPatch_Set_radiation(MR_SkyPatch *_this, float value)
MRC_API MR_SkyPatch * MR_SkyPatch_AssignFromAnother(MR_SkyPatch *_this, const MR_SkyPatch *_other)
MRC_API MR_SkyPatch * MR_SkyPatch_ConstructFrom(MR_Vector3f dir, float radiation)
struct MR_SkyPatch MR_SkyPatch
Definition MRSolarRadiation.h:24
#define MRC_API
Definition exports.h:11
Definition MRVector3.h:51