MeshLib C++ Docs
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{
10
11
15{
16public:
20 MRMESH_API void prepare( const MeshTopology & topology, float guideWeight = 1 );
21
27 MRMESH_API void run( const VertCoords & guide, const FaceNormals & normals, VertCoords & points );
28 MRMESH_API void run( const VertCoords & guide, const FaceNormals & normals, VertCoords & points, float maxInitialDistSq );
29
31 class ISolver
32 {
33 public:
34 virtual ~ISolver() = default;
35 virtual void prepare( const MeshTopology & topology, float guideWeight ) = 0;
36 virtual void run( const VertCoords & guide, const FaceNormals & normals, VertCoords & points, float maxInitialDistSq ) = 0;
37 };
38private:
39 std::unique_ptr<ISolver> solver_;
40};
41
42}
Definition MRMeshTopology.h:22
pImpl
Definition MRNormalsToPoints.h:32
Definition MRNormalsToPoints.h:15
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)
virtual ~ISolver()=default
MRMESH_API void prepare(const MeshTopology &topology, float guideWeight=1)
virtual void prepare(const MeshTopology &topology, float guideWeight)=0
virtual void run(const VertCoords &guide, const FaceNormals &normals, VertCoords &points, float maxInitialDistSq)=0
only for bindings generation
Definition MRCameraOrientationPlugin.h:8