MeshLib C++ Docs
Loading...
Searching...
No Matches
MRPointCloudPart.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4
5namespace MR
6{
7
10{
12 const VertBitSet* region = nullptr; // nullptr here means all valid points of point cloud
13
14 PointCloudPart( const PointCloud& c, const VertBitSet* bs = nullptr ) noexcept : cloud( c ), region( bs ) {}
15
16 // Make this assignable. A better idea would be to rewrite the class to not use references, but doing this instead preserves API compatibility.
17 PointCloudPart( const PointCloudPart& other ) noexcept = default;
19 {
20 if ( this != &other )
21 {
22 // In modern C++ the result doesn't need to be `std::launder`ed, right?
23 this->~PointCloudPart();
24 ::new( ( void* )this ) PointCloudPart( other );
25 }
26 return *this;
27 }
28};
29
30} // namespace MR
Definition MRCameraOrientationPlugin.h:8
struct MRMESH_CLASS PointCloudPart
Definition MRMesh/MRMeshFwd.h:621
represents full point cloud (if region is nullptr) or some portion of point cloud (if region pointer ...
Definition MRPointCloudPart.h:10
PointCloudPart & operator=(const PointCloudPart &other) noexcept
Definition MRPointCloudPart.h:18
const PointCloud & cloud
Definition MRPointCloudPart.h:11
PointCloudPart(const PointCloudPart &other) noexcept=default
PointCloudPart(const PointCloud &c, const VertBitSet *bs=nullptr) noexcept
Definition MRPointCloudPart.h:14
const VertBitSet * region
Definition MRPointCloudPart.h:12
Definition MRMesh/MRPointCloud.h:17