MeshLib C++ Docs
Loading...
Searching...
No Matches
MRMeshBooleanFacade.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMesh.h"
4#include "MRAffineXf3.h"
5
6namespace MR
7{
8
10struct TransformedMesh
11{
12 Mesh mesh;
13 AffineXf3f xf;
14 TransformedMesh() = default;
15 TransformedMesh( Mesh mesh, const AffineXf3f& xf = {} ) : mesh( std::move( mesh ) ), xf( xf ) {}
16};
17
20struct MeshMeshConverter
21{
22 TransformedMesh operator() ( Mesh mesh, const AffineXf3f& xf = {} ) const
23 { return TransformedMesh( std::move( mesh ), xf ); }
24 MRMESH_API TransformedMesh operator() ( const ObjectMesh & obj ) const;
25
26 const Mesh & operator() ( const TransformedMesh & xm ) const
27 { return xm.mesh; }
28 Mesh && operator() ( TransformedMesh && xm ) const
29 { return std::move( xm.mesh ); }
30};
31
34
37
40
41} //namespace MR
42
43
#define MRMESH_API
Definition MRMeshFwd.h:80
Definition MRMeshBooleanFacade.h:11
unsafe TransformedMesh()
Definition MRCameraOrientationPlugin.h:8
MRMESH_API TransformedMesh & operator+=(TransformedMesh &a, const TransformedMesh &b)
union operation on two meshes
MRMESH_API TransformedMesh & operator-=(TransformedMesh &a, const TransformedMesh &b)
difference operation on two meshes
MRMESH_API TransformedMesh & operator*=(TransformedMesh &a, const TransformedMesh &b)
intersection operation on two meshes