#include <MRCMesh/MRVector3.h>
#include <MRCMisc/exports.h>
#include <stddef.h>
Go to the source code of this file.
|  | 
| MRC_API MR_std_vector_MR_Vector3f * | MR_sampleHalfSphere (void) | 
|  | 
| MRC_API const MR_Vector3f * | MR_SkyPatch_Get_dir (const MR_SkyPatch *_this) | 
|  | 
| MRC_API void | MR_SkyPatch_Set_dir (MR_SkyPatch *_this, MR_Vector3f value) | 
|  | 
| MRC_API MR_Vector3f * | MR_SkyPatch_GetMutable_dir (MR_SkyPatch *_this) | 
|  | 
| MRC_API const float * | MR_SkyPatch_Get_radiation (const MR_SkyPatch *_this) | 
|  | 
| MRC_API void | MR_SkyPatch_Set_radiation (MR_SkyPatch *_this, float value) | 
|  | 
| MRC_API float * | MR_SkyPatch_GetMutable_radiation (MR_SkyPatch *_this) | 
|  | 
| MRC_API MR_SkyPatch * | MR_SkyPatch_DefaultConstruct (void) | 
|  | 
| MRC_API MR_SkyPatch * | MR_SkyPatch_DefaultConstructArray (size_t num_elems) | 
|  | 
| MRC_API MR_SkyPatch * | MR_SkyPatch_ConstructFrom (MR_Vector3f dir, float radiation) | 
|  | 
| MRC_API const MR_SkyPatch * | MR_SkyPatch_OffsetPtr (const MR_SkyPatch *ptr, ptrdiff_t i) | 
|  | Offsets a pointer to an array element by ipositions (not bytes). Use only if you're certain that the pointer points to an array element.
 | 
|  | 
| MRC_API MR_SkyPatch * | MR_SkyPatch_OffsetMutablePtr (MR_SkyPatch *ptr, ptrdiff_t i) | 
|  | Offsets a pointer to an array element by ipositions (not bytes). Use only if you're certain that the pointer points to an array element.
 | 
|  | 
| MRC_API MR_SkyPatch * | MR_SkyPatch_ConstructFromAnother (const MR_SkyPatch *_other) | 
|  | 
| 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_DestroyArray (const MR_SkyPatch *_this) | 
|  | Destroys a heap-allocated array of MR_SkyPatch. Does nothing if the pointer is null.
 | 
|  | 
| MRC_API MR_SkyPatch * | MR_SkyPatch_AssignFromAnother (MR_SkyPatch *_this, const MR_SkyPatch *_other) | 
|  | 
| 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_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) | 
|  | 
◆ MR_BitSet
◆ MR_Mesh
◆ MR_SkyPatch
this class represents a portion of the sky, and its radiation Generated from class MR::SkyPatch. 
 
 
◆ MR_std_vector_MR_MeshIntersectionResult
◆ MR_std_vector_MR_SkyPatch
◆ MR_std_vector_MR_Vector3f
◆ MR_VertBitSet
◆ MR_VertCoords
◆ MR_VertScalars
◆ MR_computeSkyViewFactor()
computes relative radiation in each valid sample point by emitting rays from that point in the sky: the radiation is 1.0f if all rays reach the sky not hitting the terrain; the radiation is 0.0f if all rays do not reach the sky because they are intercepted by the terrain; 
- Parameters
- 
  
    | outSkyRays | - optional output bitset where for every valid sample #i its rays are stored at indices [i*numPatches; (i+1)*numPatches), 0s for occluded rays (hitting the terrain) and 1s for the ones which don't hit anything and reach the sky |  | outIntersections | - optional output vector of MeshIntersectionResult for every valid sample point Generated from function MR::computeSkyViewFactor. Parameterterraincan not be null. It is a single object. Parametersamplescan not be null. It is a single object. ParametervalidSamplescan not be null. It is a single object. ParameterskyPatchescan not be null. It is a single object. ParameteroutSkyRaysdefaults to a null pointer in C++. ParameteroutIntersectionsdefaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must callMR_VertScalars_Destroy()to free it when you're done using it. |  
 
 
 
◆ MR_findSkyRays()
In each valid sample point tests the rays from that point in the sky; 
- Returns
- bitset where for every valid sample #i its rays are stored at indices [i*numPatches; (i+1)*numPatches), 0s for occluded rays (hitting the terrain) and 1s for the ones which don't hit anything and reach the sky 
- Parameters
- 
  
    | outIntersections | - optional output vector of MeshIntersectionResult for every valid sample point Generated from function MR::findSkyRays. Parameterterraincan not be null. It is a single object. Parametersamplescan not be null. It is a single object. ParametervalidSamplescan not be null. It is a single object. ParameterskyPatchescan not be null. It is a single object. ParameteroutIntersectionsdefaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must callMR_BitSet_Destroy()to free it when you're done using it. |  
 
 
 
◆ MR_sampleHalfSphere()
◆ MR_SkyPatch_AssignFromAnother()
Generated from a method of class MR::SkyPatch named operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
 
 
◆ MR_SkyPatch_ConstructFrom()
Constructs MR::SkyPatch elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_SkyPatch_Destroy() to free it when you're done using it. 
 
 
◆ MR_SkyPatch_ConstructFromAnother()
Generated from a constructor of class MR::SkyPatch. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_SkyPatch_Destroy() to free it when you're done using it. 
 
 
◆ MR_SkyPatch_DefaultConstruct()
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_SkyPatch_Destroy() to free it when you're done using it. 
 
 
◆ MR_SkyPatch_DefaultConstructArray()
◆ MR_SkyPatch_Destroy()
Destroys a heap-allocated instance of MR_SkyPatch. Does nothing if the pointer is null. 
 
 
◆ MR_SkyPatch_DestroyArray()
Destroys a heap-allocated array of MR_SkyPatch. Does nothing if the pointer is null. 
 
 
◆ MR_SkyPatch_Get_dir()
direction toward the center of the patch Returns a pointer to a member variable of class MR::SkyPatch named dir. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
 
 
◆ MR_SkyPatch_Get_radiation()
radiation of the patch depending on Sun's position, sky clearness and brightness, etc Returns a pointer to a member variable of class MR::SkyPatch named radiation. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
 
 
◆ MR_SkyPatch_GetMutable_dir()
direction toward the center of the patch Returns a mutable pointer to a member variable of class MR::SkyPatch named dir. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
 
 
◆ MR_SkyPatch_GetMutable_radiation()
radiation of the patch depending on Sun's position, sky clearness and brightness, etc Returns a mutable pointer to a member variable of class MR::SkyPatch named radiation. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
 
 
◆ MR_SkyPatch_OffsetMutablePtr()
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. 
 
 
◆ MR_SkyPatch_OffsetPtr()
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. 
 
 
◆ MR_SkyPatch_Set_dir()
direction toward the center of the patch Modifies a member variable of class MR::SkyPatch named dir. Parameter _this can not be null. It is a single object. 
 
 
◆ MR_SkyPatch_Set_radiation()
radiation of the patch depending on Sun's position, sky clearness and brightness, etc Modifies a member variable of class MR::SkyPatch named radiation. Parameter _this can not be null. It is a single object.