MeshLib C Docs
Loading...
Searching...
No Matches
MRMultiwayICP.h
Go to the documentation of this file.
1#pragma once
2
4#include <MRCMesh/MRVector3.h>
5#include <MRCMisc/common.h>
6#include <MRCMisc/exports.h>
7
8#include <stdbool.h>
9#include <stddef.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef struct MR_BitSet MR_BitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
16typedef struct MR_ICPPairData MR_ICPPairData; // Defined in `#include <MRCMesh/MRICP.h>`.
17typedef struct MR_ICPProperties MR_ICPProperties; // Defined in `#include <MRCMesh/MRICP.h>`.
18typedef struct MR_IPointPairs MR_IPointPairs; // Defined in `#include <MRCMesh/MRICP.h>`.
19typedef struct MR_Id_MR_ICPElemtTag MR_Id_MR_ICPElemtTag; // Defined in `#include <MRCMesh/MRId.h>`.
20typedef struct MR_ObjBitSet MR_ObjBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
21typedef struct MR_TypedBitSet_MR_Id_MR_ICPElemtTag MR_TypedBitSet_MR_Id_MR_ICPElemtTag; // Defined in `#include <MRCMesh/MRBitSet.h>`.
22typedef struct MR_Vector_MR_AffineXf3f_MR_ObjId MR_Vector_MR_AffineXf3f_MR_ObjId; // Defined in `#include <MRCMesh/MRVector.h>`.
23typedef struct MR_Vector_MR_MeshOrPointsXf_MR_ObjId MR_Vector_MR_MeshOrPointsXf_MR_ObjId; // Defined in `#include <MRCMesh/MRVector.h>`.
25typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
26typedef struct MR_std_function_void_from_const_MR_Vector3f_ref_MR_MeshOrPoints_ProjectionResult_ref_MR_ObjId_ref MR_std_function_void_from_const_MR_Vector3f_ref_MR_MeshOrPoints_ProjectionResult_ref_MR_ObjId_ref; // Defined in `#include <MRCMisc/std_function_void_from_const_MR_Vector3f_ref_MR_MeshOrPoints_ProjectionResult_ref_MR_ObjId_r__f9dd.h>`.
27typedef struct MR_std_function_void_from_int MR_std_function_void_from_int; // Defined in `#include <MRCMisc/std_function_void_from_int.h>`.
28typedef struct MR_std_string MR_std_string; // Defined in `#include <MRCMisc/std_string.h>`.
29typedef struct MR_std_vector_MR_ICPGroupPair MR_std_vector_MR_ICPGroupPair; // Defined in `#include <MRCMisc/std_vector_MR_ICPGroupPair.h>`.
30
31
38
45
49
56
61
69
74
80
85
90
96
101
107
114
120
126
133
139
145
152
158
164
171
177
183
189
195
201
207
213
217
222
226
230
234
237
243
246
249
257
262
268
273
279
286
292
296
301
305
309
313
316
321
324
327
334
339
344
348
354
357
360
367
374
382
391
395
399
403
409
415
421
430
439
448
453
459
464
470
477
483
487
492
499
503
507
512
515
518
525
530
534
538
546
549
552
559
569
579
585
593
599
604
611MRC_API float MR_MultiwayICP_getMeanSqDistToPoint(const MR_MultiwayICP *_this, const double *value);
612
619MRC_API float MR_MultiwayICP_getMeanSqDistToPlane(const MR_MultiwayICP *_this, const double *value);
620
625
630
635
641
645
651
657
663
664#ifdef __cplusplus
665} // extern "C"
666#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_ObjBitSet MR_ObjBitSet
Definition MRAABBTreeBase.h:26
struct MR_Vector_MR_AffineXf3f_MR_ObjId MR_Vector_MR_AffineXf3f_MR_ObjId
Definition MRAABBTreeObjects.h:22
struct MR_Vector_MR_MeshOrPointsXf_MR_ObjId MR_Vector_MR_MeshOrPointsXf_MR_ObjId
Definition MRAABBTreeObjects.h:23
struct MR_BitSet MR_BitSet
Definition MRBitSet.h:195
struct MR_TypedBitSet_MR_Id_MR_ICPElemtTag MR_TypedBitSet_MR_Id_MR_ICPElemtTag
Definition MRBitSet.h:174
struct MR_Id_MR_ICPElemtTag MR_Id_MR_ICPElemtTag
Definition MRBitSet.h:27
struct MR_std_string MR_std_string
Definition MRCtm.h:32
struct MR_ICPGroupPairs MR_ICPGroupPairs
Definition MRICP.h:19
struct MR_ICPGroupPair MR_ICPGroupPair
Definition MRICP.h:18
struct MR_ICPPairData MR_ICPPairData
Definition MRICP.h:34
struct MR_ICPProperties MR_ICPProperties
Definition MRICP.h:66
struct MR_IPointPairs MR_IPointPairs
Definition MRICP.h:50
MRC_API MR_Vector_MR_AffineXf3f_MR_ObjId * MR_MultiwayICP_calculateTransformations(MR_MultiwayICP *_this, const MR_std_function_bool_from_float *cb)
MRC_API MR_ICPGroupPairs * MR_ICPGroupPairs_DefaultConstructArray(size_t num_elems)
MR_MultiwayICPSamplingParameters_CascadeMode
Definition MRMultiwayICP.h:51
@ MR_MultiwayICPSamplingParameters_CascadeMode_AABBTreeBased
separates objects on groups based on their index in ICPObjects (good if all objects about the size of...
Definition MRMultiwayICP.h:54
@ MR_MultiwayICPSamplingParameters_CascadeMode_Sequential
Definition MRMultiwayICP.h:52
MRC_API MR_TypedBitSet_MR_Id_MR_ICPElemtTag * MR_IICPTreeIndexer_getElementNodes(const MR_IICPTreeIndexer *_this, int l, const MR_Id_MR_ICPElemtTag *eId)
MRC_API const MR_MultiwayICP * MR_MultiwayICP_OffsetPtr(const MR_MultiwayICP *ptr, ptrdiff_t i)
MRC_API void MR_MultiwayICP_setPerIterationCallback(MR_MultiwayICP *_this, MR_PassBy callback_pass_by, MR_std_function_void_from_int *callback)
MRC_API void MR_MultiwayICPSamplingParameters_Set_maxGroupSize(MR_MultiwayICPSamplingParameters *_this, int value)
MRC_API const MR_IICPTreeIndexer * MR_MultiwayICP_getCascadeIndexer(const MR_MultiwayICP *_this)
MRC_API void MR_MultiwayICP_devEnableIndependentEquationsMode(MR_MultiwayICP *_this, bool on)
MRC_API MR_uint64_t MR_ICPGroupPairs_size(const MR_ICPGroupPairs *_this)
struct MR_MultiwayICPSamplingParameters MR_MultiwayICPSamplingParameters
Definition MRMultiwayICP.h:60
MRC_API MR_MultiwayICPSamplingParameters * MR_MultiwayICPSamplingParameters_ConstructFromAnother(MR_PassBy _other_pass_by, MR_MultiwayICPSamplingParameters *_other)
MRC_API void MR_MultiwayICP_Destroy(const MR_MultiwayICP *_this)
Destroys a heap-allocated instance of MR_MultiwayICP. Does nothing if the pointer is null.
MRC_API const float * MR_ICPGroupPair_Get_weight(const MR_ICPGroupPair *_this)
MRC_API const float * MR_ICPGroupPair_Get_distSq(const MR_ICPGroupPair *_this)
MRC_API MR_MultiwayICP * MR_MultiwayICP_Construct(const MR_Vector_MR_MeshOrPointsXf_MR_ObjId *objects, const MR_MultiwayICPSamplingParameters *samplingParams)
MRC_API bool MR_MultiwayICP_updateAllPointPairs(MR_MultiwayICP *_this, const MR_std_function_bool_from_float *cb)
MRC_API const MR_ICPProperties * MR_MultiwayICP_getParams(const MR_MultiwayICP *_this)
struct MR_IICPTreeIndexer MR_IICPTreeIndexer
Definition MRMultiwayICP.h:48
struct MR_std_function_void_from_int MR_std_function_void_from_int
Definition MRMultiwayICP.h:27
MRC_API const MR_ICPPairData * MR_ICPGroupPairs_index_const(const MR_ICPGroupPairs *_this, MR_uint64_t idx)
MRC_API MR_MultiwayICP * MR_MultiwayICP_ConstructFromAnother(MR_PassBy _other_pass_by, MR_MultiwayICP *_other)
MRC_API const MR_ICPGroupPairs * MR_ICPGroupPairs_OffsetPtr(const MR_ICPGroupPairs *ptr, ptrdiff_t i)
MRC_API void MR_MultiwayICPSamplingParameters_DestroyArray(const MR_MultiwayICPSamplingParameters *_this)
Destroys a heap-allocated array of MR_MultiwayICPSamplingParameters. Does nothing if the pointer is n...
MRC_API const MR_IICPTreeIndexer * MR_IICPTreeIndexer_OffsetPtr(const MR_IICPTreeIndexer *ptr, ptrdiff_t i)
MRC_API const MR_Vector3f * MR_ICPGroupPair_Get_tgtPoint(const MR_ICPGroupPair *_this)
MRC_API MR_std_string * MR_MultiwayICP_getStatusInfo(const MR_MultiwayICP *_this)
MRC_API const MR_ObjVertId * MR_ICPGroupPair_Get_srcId(const MR_ICPGroupPair *_this)
MRC_API MR_ICPGroupPair * MR_ICPGroupPair_DefaultConstructArray(size_t num_elems)
MRC_API MR_ICPPairData * MR_ICPGroupPairs_index(MR_ICPGroupPairs *_this, MR_uint64_t idx)
MRC_API MR_ICPGroupPair * MR_ICPGroupPair_AssignFromAnother(MR_ICPGroupPair *_this, const MR_ICPGroupPair *_other)
MRC_API const MR_MultiwayICPSamplingParameters_CascadeMode * MR_MultiwayICPSamplingParameters_Get_cascadeMode(const MR_MultiwayICPSamplingParameters *_this)
MRC_API MR_ICPPairData * MR_ICPGroupPair_MutableUpcastTo_MR_ICPPairData(MR_ICPGroupPair *object)
Upcasts an instance of MR::ICPGroupPair to its base class MR::ICPPairData.
MRC_API void MR_ICPGroupPair_Set_tgtPoint(MR_ICPGroupPair *_this, MR_Vector3f value)
MRC_API MR_ICPGroupPairs * MR_ICPGroupPairs_ConstructFromAnother(MR_PassBy _other_pass_by, MR_ICPGroupPairs *_other)
MRC_API MR_uint64_t MR_IICPTreeIndexer_getNumElements(const MR_IICPTreeIndexer *_this, int l)
MRC_API MR_Vector3f * MR_ICPGroupPair_GetMutable_tgtPoint(MR_ICPGroupPair *_this)
MRC_API void MR_MultiwayICPSamplingParameters_Set_samplingVoxelSize(MR_MultiwayICPSamplingParameters *_this, float value)
struct MR_MultiwayICP MR_MultiwayICP
Definition MRMultiwayICP.h:68
MRC_API MR_BitSet * MR_ICPGroupPairs_GetMutable_active(MR_ICPGroupPairs *_this)
MRC_API void MR_ICPGroupPair_DestroyArray(const MR_ICPGroupPair *_this)
Destroys a heap-allocated array of MR_ICPGroupPair. Does nothing if the pointer is null.
MRC_API bool MR_IICPTreeIndexer_fromSameNode(const MR_IICPTreeIndexer *_this, int l, const MR_Id_MR_ICPElemtTag *eI, const MR_Id_MR_ICPElemtTag *eJ)
MRC_API MR_uint64_t MR_MultiwayICP_getNumActivePairs(const MR_MultiwayICP *_this)
MRC_API MR_MultiwayICPSamplingParameters * MR_MultiwayICPSamplingParameters_AssignFromAnother(MR_MultiwayICPSamplingParameters *_this, MR_PassBy _other_pass_by, MR_MultiwayICPSamplingParameters *_other)
MRC_API MR_IICPTreeIndexer * MR_IICPTreeIndexer_OffsetMutablePtr(MR_IICPTreeIndexer *ptr, ptrdiff_t i)
MRC_API MR_MultiwayICP * MR_MultiwayICP_AssignFromAnother(MR_MultiwayICP *_this, MR_PassBy _other_pass_by, MR_MultiwayICP *_other)
MRC_API MR_Vector3f * MR_ICPGroupPair_GetMutable_srcNorm(MR_ICPGroupPair *_this)
MRC_API void MR_ICPGroupPair_Set_weight(MR_ICPGroupPair *_this, float value)
MRC_API bool MR_MultiwayICP_resamplePoints(MR_MultiwayICP *_this, const MR_MultiwayICPSamplingParameters *samplingParams)
MRC_API MR_MultiwayICPSamplingParameters * MR_MultiwayICPSamplingParameters_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector3f * MR_ICPGroupPair_GetMutable_srcPoint(MR_ICPGroupPair *_this)
MRC_API void MR_MultiwayICPSamplingParameters_Set_cascadeMode(MR_MultiwayICPSamplingParameters *_this, MR_MultiwayICPSamplingParameters_CascadeMode value)
MRC_API const MR_Vector_MR_Vector_MR_Vector_MR_ICPGroupPairs_MR_Id_MR_ICPElemtTag_MR_Id_MR_ICPElemtTag_int * MR_MultiwayICP_getPairsPerLayer(const MR_MultiwayICP *_this)
MRC_API const MR_Vector3f * MR_ICPGroupPair_Get_srcPoint(const MR_ICPGroupPair *_this)
MRC_API const MR_IPointPairs * MR_ICPGroupPairs_UpcastTo_MR_IPointPairs(const MR_ICPGroupPairs *object)
MRC_API float * MR_ICPGroupPair_GetMutable_weight(MR_ICPGroupPair *_this)
MRC_API MR_MultiwayICPSamplingParameters * MR_MultiwayICPSamplingParameters_DefaultConstruct(void)
MRC_API const MR_BitSet * MR_ICPGroupPairs_Get_active(const MR_ICPGroupPairs *_this)
MRC_API MR_std_function_bool_from_float * MR_MultiwayICPSamplingParameters_GetMutable_cb(MR_MultiwayICPSamplingParameters *_this)
MRC_API MR_ICPGroupPair * MR_ICPGroupPair_ConstructFromAnother(const MR_ICPGroupPair *_other)
MRC_API void MR_MultiwayICP_setParams(MR_MultiwayICP *_this, const MR_ICPProperties *prop)
MRC_API MR_ObjVertId * MR_ICPGroupPair_GetMutable_tgtClosestId(MR_ICPGroupPair *_this)
MRC_API MR_ObjVertId * MR_ICPGroupPair_GetMutable_srcId(MR_ICPGroupPair *_this)
MRC_API MR_ICPGroupPair * MR_ICPGroupPair_DefaultConstruct(void)
MRC_API void MR_ICPGroupPair_Destroy(const MR_ICPGroupPair *_this)
Destroys a heap-allocated instance of MR_ICPGroupPair. Does nothing if the pointer is null.
MRC_API MR_ICPGroupPairs * MR_ICPGroupPairs_DefaultConstruct(void)
MRC_API const MR_ObjVertId * MR_ICPGroupPair_Get_tgtClosestId(const MR_ICPGroupPair *_this)
MRC_API MR_ObjBitSet * MR_IICPTreeIndexer_getElementLeaves(const MR_IICPTreeIndexer *_this, int l, const MR_Id_MR_ICPElemtTag *eId)
MRC_API const MR_std_function_bool_from_float * MR_MultiwayICPSamplingParameters_Get_cb(const MR_MultiwayICPSamplingParameters *_this)
MRC_API const MR_MultiwayICPSamplingParameters * MR_MultiwayICPSamplingParameters_OffsetPtr(const MR_MultiwayICPSamplingParameters *ptr, ptrdiff_t i)
MRC_API int * MR_MultiwayICPSamplingParameters_GetMutable_maxGroupSize(MR_MultiwayICPSamplingParameters *_this)
MRC_API MR_Vector_MR_AffineXf3f_MR_ObjId * MR_MultiwayICP_calculateTransformationsFixFirst(MR_MultiwayICP *_this, const MR_std_function_bool_from_float *cb)
MRC_API MR_ICPGroupPairs * MR_ICPGroupPairs_AssignFromAnother(MR_ICPGroupPairs *_this, MR_PassBy _other_pass_by, MR_ICPGroupPairs *_other)
MRC_API void MR_IICPTreeIndexer_DestroyArray(const MR_IICPTreeIndexer *_this)
Destroys a heap-allocated array of MR_IICPTreeIndexer. Does nothing if the pointer is null.
MRC_API MR_Vector3f * MR_ICPGroupPair_GetMutable_tgtNorm(MR_ICPGroupPair *_this)
MRC_API void MR_MultiwayICP_DestroyArray(const MR_MultiwayICP *_this)
Destroys a heap-allocated array of MR_MultiwayICP. Does nothing if the pointer is null.
MRC_API MR_MultiwayICP * MR_MultiwayICP_OffsetMutablePtr(MR_MultiwayICP *ptr, ptrdiff_t i)
MRC_API void MR_ICPGroupPairs_Set_active(MR_ICPGroupPairs *_this, MR_PassBy value_pass_by, MR_BitSet *value)
MRC_API const MR_ICPGroupPair * MR_ICPGroupPair_OffsetPtr(const MR_ICPGroupPair *ptr, ptrdiff_t i)
MRC_API MR_MultiwayICPSamplingParameters_CascadeMode * MR_MultiwayICPSamplingParameters_GetMutable_cascadeMode(MR_MultiwayICPSamplingParameters *_this)
MRC_API const MR_Vector3f * MR_ICPGroupPair_Get_tgtNorm(const MR_ICPGroupPair *_this)
MRC_API MR_ICPGroupPairs * MR_ICPGroupPairs_OffsetMutablePtr(MR_ICPGroupPairs *ptr, ptrdiff_t i)
MRC_API void MR_ICPGroupPair_Set_tgtNorm(MR_ICPGroupPair *_this, MR_Vector3f value)
MRC_API MR_uint64_t MR_MultiwayICP_getNumSamples(const MR_MultiwayICP *_this)
MRC_API MR_MultiwayICPSamplingParameters * MR_MultiwayICPSamplingParameters_OffsetMutablePtr(MR_MultiwayICPSamplingParameters *ptr, ptrdiff_t i)
MRC_API const MR_std_vector_MR_ICPGroupPair * MR_ICPGroupPairs_Get_vec(const MR_ICPGroupPairs *_this)
MRC_API void MR_ICPGroupPair_Set_srcNorm(MR_ICPGroupPair *_this, MR_Vector3f value)
MRC_API void MR_MultiwayICPSamplingParameters_Destroy(const MR_MultiwayICPSamplingParameters *_this)
Destroys a heap-allocated instance of MR_MultiwayICPSamplingParameters. Does nothing if the pointer i...
MRC_API bool MR_MultiwayICP_devIndependentEquationsModeEnabled(const MR_MultiwayICP *_this)
MRC_API float * MR_MultiwayICPSamplingParameters_GetMutable_samplingVoxelSize(MR_MultiwayICPSamplingParameters *_this)
MRC_API void MR_ICPGroupPair_Set_srcId(MR_ICPGroupPair *_this, MR_ObjVertId value)
MRC_API void MR_updateGroupPairs(MR_ICPGroupPairs *pairs, const MR_Vector_MR_MeshOrPointsXf_MR_ObjId *objs, MR_PassBy srcProjector_pass_by, MR_std_function_void_from_const_MR_Vector3f_ref_MR_MeshOrPoints_ProjectionResult_ref_MR_ObjId_ref *srcProjector, MR_PassBy tgtProjector_pass_by, MR_std_function_void_from_const_MR_Vector3f_ref_MR_MeshOrPoints_ProjectionResult_ref_MR_ObjId_ref *tgtProjector, float cosThreshold, float distThresholdSq, bool mutualClosest)
MRC_API void MR_ICPGroupPairs_Destroy(const MR_ICPGroupPairs *_this)
Destroys a heap-allocated instance of MR_ICPGroupPairs. Does nothing if the pointer is null.
MRC_API float MR_MultiwayICP_getMeanSqDistToPlane(const MR_MultiwayICP *_this, const double *value)
MRC_API float MR_MultiwayICP_getMeanSqDistToPoint(const MR_MultiwayICP *_this, const double *value)
MRC_API MR_MultiwayICPSamplingParameters * MR_MultiwayICPSamplingParameters_ConstructFrom(float samplingVoxelSize, int maxGroupSize, MR_MultiwayICPSamplingParameters_CascadeMode cascadeMode, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_ICPGroupPair_Set_tgtClosestId(MR_ICPGroupPair *_this, MR_ObjVertId value)
MRC_API MR_uint64_t MR_IICPTreeIndexer_getNumLayers(const MR_IICPTreeIndexer *_this)
struct MR_Vector_MR_Vector_MR_Vector_MR_ICPGroupPairs_MR_Id_MR_ICPElemtTag_MR_Id_MR_ICPElemtTag_int MR_Vector_MR_Vector_MR_Vector_MR_ICPGroupPairs_MR_Id_MR_ICPElemtTag_MR_Id_MR_ICPElemtTag_int
Definition MRMultiwayICP.h:24
MRC_API const float * MR_MultiwayICPSamplingParameters_Get_samplingVoxelSize(const MR_MultiwayICPSamplingParameters *_this)
MRC_API const MR_ICPPairData * MR_ICPGroupPair_UpcastTo_MR_ICPPairData(const MR_ICPGroupPair *object)
MRC_API void MR_IICPTreeIndexer_Destroy(const MR_IICPTreeIndexer *_this)
Destroys a heap-allocated instance of MR_IICPTreeIndexer. Does nothing if the pointer is null.
MRC_API void MR_ICPGroupPairs_DestroyArray(const MR_ICPGroupPairs *_this)
Destroys a heap-allocated array of MR_ICPGroupPairs. Does nothing if the pointer is null.
MRC_API void MR_ICPGroupPair_Set_distSq(MR_ICPGroupPair *_this, float value)
struct MR_std_function_void_from_const_MR_Vector3f_ref_MR_MeshOrPoints_ProjectionResult_ref_MR_ObjId_ref MR_std_function_void_from_const_MR_Vector3f_ref_MR_MeshOrPoints_ProjectionResult_ref_MR_ObjId_ref
Definition MRMultiwayICP.h:26
MRC_API MR_std_vector_MR_ICPGroupPair * MR_ICPGroupPairs_GetMutable_vec(MR_ICPGroupPairs *_this)
MRC_API float * MR_ICPGroupPair_GetMutable_distSq(MR_ICPGroupPair *_this)
MRC_API void MR_MultiwayICPSamplingParameters_Set_cb(MR_MultiwayICPSamplingParameters *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API MR_ICPGroupPair * MR_ICPGroupPair_OffsetMutablePtr(MR_ICPGroupPair *ptr, ptrdiff_t i)
MRC_API const MR_Vector3f * MR_ICPGroupPair_Get_srcNorm(const MR_ICPGroupPair *_this)
MRC_API void MR_ICPGroupPairs_Set_vec(MR_ICPGroupPairs *_this, MR_PassBy value_pass_by, MR_std_vector_MR_ICPGroupPair *value)
MRC_API void MR_ICPGroupPair_Set_srcPoint(MR_ICPGroupPair *_this, MR_Vector3f value)
MRC_API MR_IPointPairs * MR_ICPGroupPairs_MutableUpcastTo_MR_IPointPairs(MR_ICPGroupPairs *object)
Upcasts an instance of MR::ICPGroupPairs to its base class MR::IPointPairs.
MRC_API const int * MR_MultiwayICPSamplingParameters_Get_maxGroupSize(const MR_MultiwayICPSamplingParameters *_this)
struct MR_std_vector_MR_ICPGroupPair MR_std_vector_MR_ICPGroupPair
Definition MRMultiwayICP.h:29
MR_PassBy
Definition common.h:23
uint64_t MR_uint64_t
Definition common.h:18
#define MRC_API
Definition exports.h:11
Generated from class MR::ObjVertId.
Definition MRGridSampling.h:31
Definition MRVector3.h:52