Exported Functions
WhatsThePoint.AbstractSurface
— Typeabstract type AbstractSurface{M<:Manifold,C<:CRS} end
A surface of a PointSurface.
WhatsThePoint.ConstantSpacing
— TypeConstantSpacing{L<:Unitful.Length} <: AbstractSpacing
Constant node spacing.
WhatsThePoint.LogLike
— TypeLogLike <: VariableSpacing
Node spacing based on a log-like function of the distance to nearest boundary $x/(x+a)$ where $x$ is the distance to the nearest boundary and $a$ is a parameter to control the growth rate as $a = 1 - (g - 1)$ where $g$ is the conventional growth rate parameter.
WhatsThePoint.PointBoundary
— Typestruct PointBoundary{Dim,T,P}
A boundary of points.
WhatsThePoint.PointCloud
— Typestruct PointCloud{M,C} <: Domain{M,C}
A point cloud.
WhatsThePoint.PointSurface
— Typestruct PointSurface{M,C} <: AbstractSurface{M,C}
This is a typical representation of a surface via points.
WhatsThePoint.Power
— TypePower <: VariableSpacing
Node spacing based on a power of the distance to nearest boundary $x^{g}$ where $x$ is the distance to the nearest boundary and $g$ is the growth_rate.
WhatsThePoint.SurfaceElement
— Typestruct SurfaceElement{M,C,N,A}
Representation of a point on a <:PointSurface
.
WhatsThePoint.add_surface!
— Methodadd_surface!(boundary::PointBoundary, points::Vector{<:Point}
Add a surface to an existing boundary. Creates a new surface, unless a name of an existing surface is given and it is added to that.
WhatsThePoint.compute_normals
— Methodcompute_normals(search_method::KNearestSearch, surf::PointSurface)
Estimate the normals of a set of points that form a surface. Uses the PCA approach from "Surface Reconstruction from Unorganized Points" - Hoppe (1992).
WhatsThePoint.compute_normals
— Methodcompute_normals(surf::PointSurface; k::Int=5)
Estimate the normals of a set of points that form a surface. Uses the PCA approach from "Surface Reconstruction from Unorganized Points" - Hoppe (1992).
WhatsThePoint.emptyspace
— Methodemptyspace(testpoint, points)
Check if a point occupies empty space within a certain tolerance.
WhatsThePoint.import_surface
— Methodimport_surface(filepath::String)
Import a surface mesh. Re-uses code from MeshBridge.jl, did not use their package because I needed to calculate face centers which they do not do.
WhatsThePoint.orient_normals!
— Methodorient_normals!(normals::Vector{<:AbstractVector}, points; k::Int=5)
Correct the orientation of normals on a surface as the compute_normals function does not guarantee if the normal is inward or outward facing. Uses the approach from "Surface Reconstruction from Unorganized Points" - Hoppe (1992).
WhatsThePoint.orient_normals!
— Methodorient_normals!(search_method::KNearestSearch, normals::AbstractVector{<:AbstractVector}, points)
Correct the orientation of normals on a surface as the compute_normals function does not guarantee if the normal is inward or outward facing. Uses the approach from "Surface Reconstruction from Unorganized Points" - Hoppe (1992).
WhatsThePoint.update_normals!
— Methodupdate_normals!(surf::PointCloud; k::Int=5)
Update the normals of the boundary of a surf. This is necessary whenever the points change for any reason.