Class MeshRefinerBase
Inheritance
MeshRefinerBase
Namespace: g3
Assembly: cs.temp.dll.dll
Syntax
public class MeshRefinerBase
Constructors
MeshRefinerBase()
Declaration
protected MeshRefinerBase()
MeshRefinerBase(DMesh3)
Declaration
public MeshRefinerBase(DMesh3 mesh)
Parameters
Type |
Name |
Description |
DMesh3 |
mesh |
|
Fields
AllowCollapseFixedVertsWithSameSetID
Declaration
public bool AllowCollapseFixedVertsWithSameSetID
Field Value
constraints
Declaration
protected MeshConstraints constraints
Field Value
edge_flip_tol
Declaration
protected double edge_flip_tol
Field Value
mesh
Declaration
Field Value
Progress
Set this to be able to cancel running remesher
Declaration
public ProgressCancel Progress
Field Value
Properties
Constraints
Declaration
public MeshConstraints Constraints { get; }
Property Value
EdgeFlipTolerance
If normals dot product is less than this, we consider it a normal flip. default = 0
Declaration
public double EdgeFlipTolerance { get; set; }
Property Value
Mesh
Declaration
public DMesh3 Mesh { get; }
Property Value
Methods
can_collapse_constraints(Int32, Int32, Int32, Int32, Int32, Int32, Int32, out Int32)
Declaration
protected bool can_collapse_constraints(int eid, int a, int b, int c, int d, int tc, int td, out int collapse_to)
Parameters
Returns
can_collapse_vtx(Int32, Int32, Int32, out Int32)
Declaration
protected bool can_collapse_vtx(int eid, int a, int b, out int collapse_to)
Parameters
Returns
Cancelled()
if this returns true, abort computation.
Declaration
protected virtual bool Cancelled()
Returns
collapse_creates_flip_or_invalid(Int32, Int32, ref Vector3d, Int32, Int32)
check if edge collapse will create a face-normal flip.
Also checks if collapse would violate link condition, since
we are iterating over one-ring anyway.
This only checks one-ring of vid, so you have to call it twice,
with vid and vother reversed, to check both one-rings
Declaration
protected bool collapse_creates_flip_or_invalid(int vid, int vother, ref Vector3d newv, int tc, int td)
Parameters
Returns
edge_flip_metric(ref Vector3d, ref Vector3d)
Declaration
protected double edge_flip_metric(ref Vector3d n0, ref Vector3d n1)
Parameters
Returns
flip_inverts_normals(Int32, Int32, Int32, Int32, Int32)
Check if edge flip might reverse normal direction.
Not entirely clear on how to implement this test.
Currently checking if any normal-pairs are reversed.
Declaration
protected bool flip_inverts_normals(int a, int b, int c, int d, int t0)
Parameters
Returns
get_vertex_constraint(Int32)
Declaration
protected VertexConstraint get_vertex_constraint(int vid)
Parameters
Type |
Name |
Description |
Int32 |
vid |
|
Returns
get_vertex_constraint(Int32, ref VertexConstraint)
Declaration
protected bool get_vertex_constraint(int vid, ref VertexConstraint vc)
Parameters
Returns
SetExternalConstraints(MeshConstraints)
Declaration
public void SetExternalConstraints(MeshConstraints cons)
Parameters
vertex_is_constrained(Int32)
Declaration
protected bool vertex_is_constrained(int vid)
Parameters
Type |
Name |
Description |
Int32 |
vid |
|
Returns
vertex_is_fixed(Int32)
Declaration
protected bool vertex_is_fixed(int vid)
Parameters
Type |
Name |
Description |
Int32 |
vid |
|
Returns