MeshLib
 
Loading...
Searching...
No Matches
MRMeshC/MRVector.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4#include "MRAffineXf.h"
5#include "MRId.h"
6
8
10#define MR_VECTOR_CONCAT( a, b ) MR_VECTOR_CONCAT_( a, b )
11#define MR_VECTOR_CONCAT_( a, b ) a ## b
12
16// to deallocate it manually
19#define MR_VECTOR_LIKE_DECL( ClassName, Type ) \
20typedef struct MR_VECTOR_CONCAT( MR, ClassName ) \
21{ \
22 MR_VECTOR_CONCAT( MR, Type )* data; \
23 size_t size; \
24 void* reserved1; \
25} MR_VECTOR_CONCAT( MR, ClassName ); \
26MRMESHC_API void MR_VECTOR_CONCAT( MR_VECTOR_CONCAT( mr, ClassName ), Invalidate )( MR_VECTOR_CONCAT( MR, ClassName )* ); \
27MRMESHC_API void MR_VECTOR_CONCAT( MR_VECTOR_CONCAT( mr, ClassName ), Free )( MR_VECTOR_CONCAT( MR, ClassName )* );
28
29#define MR_VECTOR_DECL( Type ) MR_VECTOR_LIKE_DECL( MR_VECTOR_CONCAT( Vector, Type ), Type )
30
33
35MR_VECTOR_LIKE_DECL( WholeEdgeMap, EdgeId )
37
int VertId
Definition MRDotNet/MRMeshFwd.h:51
List< VertId > VertMap
Definition MRDotNet/MRMeshFwd.h:84
int FaceId
Definition MRDotNet/MRMeshFwd.h:53
int EdgeId
Definition MRDotNet/MRMeshFwd.h:52
List< FaceId > FaceMap
Definition MRDotNet/MRMeshFwd.h:87
#define MR_EXTERN_C_BEGIN
Definition MRMeshC/MRMeshFwd.h:26
#define MR_EXTERN_C_END
Definition MRMeshC/MRMeshFwd.h:27
#define MR_VECTOR_DECL(Type)
Definition MRMeshC/MRVector.h:29
#define MR_VECTOR_LIKE_DECL(ClassName, Type)
Definition MRMeshC/MRVector.h:19
affine transformation: y = A*x + b, where A in VxV, and b in V
Definition MRDotNet/MRAffineXf.h:8
represents a 3-dimentional float-typed vector
Definition MRDotNet/MRVector3.h:8