MeshLib Documentation
Loading...
Searching...
No Matches
MRNormalsToPoints.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4#include <memory>
5
6namespace MR
7{
8
12{
13public:
17 MRMESH_API void prepare( const MeshTopology & topology, float guideWeight = 1 );
18
24 MRMESH_API void run( const VertCoords & guide, const FaceNormals & normals, VertCoords & points );
25 MRMESH_API void run( const VertCoords & guide, const FaceNormals & normals, VertCoords & points, float maxInitialDistSq );
26
27 // pImpl
28 class ISolver
29 {
30 public:
31 virtual ~ISolver() = default;
32 virtual void prepare( const MeshTopology & topology, float guideWeight ) = 0;
33 virtual void run( const VertCoords & guide, const FaceNormals & normals, VertCoords & points, float maxInitialDistSq ) = 0;
34 };
35private:
36 std::unique_ptr<ISolver> solver_;
37};
38
39} //namespace MR
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
Definition MRMesh/MRMeshTopology.h:18
Definition MRNormalsToPoints.h:29
virtual ~ISolver()=default
virtual void prepare(const MeshTopology &topology, float guideWeight)=0
virtual void run(const VertCoords &guide, const FaceNormals &normals, VertCoords &points, float maxInitialDistSq)=0
Definition MRNormalsToPoints.h:12
MRMESH_API void run(const VertCoords &guide, const FaceNormals &normals, VertCoords &points)
MRMESH_API void run(const VertCoords &guide, const FaceNormals &normals, VertCoords &points, float maxInitialDistSq)
MRMESH_API void prepare(const MeshTopology &topology, float guideWeight=1)
Definition MRCameraOrientationPlugin.h:8