MeshLib Documentation
Loading...
Searching...
No Matches
MRExtractIsolines.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4
5namespace MR
6{
7
9[[nodiscard]] MRMESH_API IsoLines extractIsolines( const MeshTopology & topology,
10 const VertMetric & vertValues, const FaceBitSet * region = nullptr );
12[[nodiscard]] MRMESH_API bool hasAnyIsoline( const MeshTopology & topology,
13 const VertMetric & vertValues, const FaceBitSet * region = nullptr );
14
16[[nodiscard]] MRMESH_API IsoLines extractIsolines( const MeshTopology & topology,
17 const VertScalars & vertValues, float isoValue, const FaceBitSet * region = nullptr );
19[[nodiscard]] MRMESH_API bool hasAnyIsoline( const MeshTopology & topology,
20 const VertScalars & vertValues, float isoValue, const FaceBitSet * region = nullptr );
21
23[[nodiscard]] MRMESH_API PlaneSections extractPlaneSections( const MeshPart & mp, const Plane3f & plane );
25[[nodiscard]] MRMESH_API bool hasAnyPlaneSection( const MeshPart & mp, const Plane3f & plane );
26
30[[nodiscard]] MRMESH_API PlaneSections extractXYPlaneSections( const MeshPart & mp, float zLevel );
32[[nodiscard]] MRMESH_API bool hasAnyXYPlaneSection( const MeshPart & mp, float zLevel );
33
39[[nodiscard]] MRMESH_API PlaneSection trackSection( const MeshPart& mp,
40 const MeshTriPoint& start, MeshTriPoint& end, const Vector3f& direction, float distance );
41
43[[nodiscard]] MRMESH_API Contour2f planeSectionToContour2f( const Mesh & mesh, const PlaneSection & section, const AffineXf3f & meshToPlane );
44[[nodiscard]] MRMESH_API Contours2f planeSectionsToContours2f( const Mesh & mesh, const PlaneSections & sections, const AffineXf3f & meshToPlane );
45
46} //namespace MR
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
Definition MRMesh/MRMeshTopology.h:18
auto end(const BitSet &)
Definition MRMesh/MRBitSet.h:282
std::optional< T > distance(const Plane3< T > &plane1, const Plane3< T > &plane2, T errorLimit=std::numeric_limits< T >::epsilon() *T(20))
Definition MRIntersection.h:104
Definition MRCameraOrientationPlugin.h:8
std::function< float(VertId)> VertMetric
Definition MRMesh/MRMeshFwd.h:436
MRMESH_API IsoLines extractIsolines(const MeshTopology &topology, const VertMetric &vertValues, const FaceBitSet *region=nullptr)
extracts all iso-lines from given scalar field and iso-value=0
MRMESH_API PlaneSections extractXYPlaneSections(const MeshPart &mp, float zLevel)
MRMESH_API PlaneSection trackSection(const MeshPart &mp, const MeshTriPoint &start, MeshTriPoint &end, const Vector3f &direction, float distance)
MRMESH_API PlaneSections extractPlaneSections(const MeshPart &mp, const Plane3f &plane)
extracts all plane sections of given mesh
Contour2< float > Contour2f
Definition MRMesh/MRMeshFwd.h:275
MRMESH_API Contour2f planeSectionToContour2f(const Mesh &mesh, const PlaneSection &section, const AffineXf3f &meshToPlane)
converts PlaneSections in 2D contours by computing coordinate of each point, applying given xf to it,...
SurfacePaths PlaneSections
Definition MRMesh/MRMeshFwd.h:355
MRMESH_API Contours2f planeSectionsToContours2f(const Mesh &mesh, const PlaneSections &sections, const AffineXf3f &meshToPlane)
MRMESH_API bool hasAnyPlaneSection(const MeshPart &mp, const Plane3f &plane)
quickly returns true if extractPlaneSections produce not-empty set for the same arguments
Contours2< float > Contours2f
Definition MRMesh/MRMeshFwd.h:283
SurfacePath PlaneSection
Definition MRMesh/MRMeshFwd.h:354
MRMESH_API bool hasAnyXYPlaneSection(const MeshPart &mp, float zLevel)
quickly returns true if extractXYPlaneSections produce not-empty set for the same arguments
SurfacePaths IsoLines
Definition MRMesh/MRMeshFwd.h:353
MRMESH_API bool hasAnyIsoline(const MeshTopology &topology, const VertMetric &vertValues, const FaceBitSet *region=nullptr)
quickly returns true if extractIsolines produce not-empty set for the same arguments
Definition MRMesh/MRMeshTriPoint.h:23
Definition MRMesh/MRMesh.h:23