MeshLib Documentation
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
11{
13 AffineXf3f xf;
14 TransformedMesh() = default;
15 TransformedMesh( Mesh mesh, const AffineXf3f& xf = {} ) : mesh( std::move( mesh ) ), xf( xf ) {}
16};
17
21{
22 TransformedMesh operator() ( Mesh mesh, const AffineXf3f& xf = {} ) const
23 { return TransformedMesh( std::move( mesh ), xf ); }
25
26 const Mesh & operator() ( const TransformedMesh & xm ) const
27 { return xm.mesh; }
29 { return std::move( xm.mesh ); }
30};
31
34
37
40
41} //namespace MR
42
43
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
Definition MRObjectMesh.h:11
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
Definition MRMeshBooleanFacade.h:21
TransformedMesh operator()(Mesh mesh, const AffineXf3f &xf={}) const
Definition MRMeshBooleanFacade.h:22
Definition MRMesh/MRMesh.h:23
just stores a mesh and its transformation to some fixed reference frame
Definition MRMeshBooleanFacade.h:11
Mesh mesh
Definition MRMeshBooleanFacade.h:12
TransformedMesh(Mesh mesh, const AffineXf3f &xf={})
Definition MRMeshBooleanFacade.h:15
AffineXf3f xf
Definition MRMeshBooleanFacade.h:13
TransformedMesh()=default