Search Results for

    Show / Hide Table of Contents

    Class EdgeLoopRemesher

    This is a custom Remesher that only affects the edges along an EdgeLoop. The edges are only split and collapsed, flipping is not permitted. The loop vertices are smoothed along the loop, ie using curve laplacian rather than one-ring laplacian.

    [TODO] avoid rebuild_edge_list(). requires handling various cases below... [TODO] Precompute() seems overly expensive...? [TODO] local-smoothing impl is not very efficient. Should not be necessary to rebuild nbrhood each time if we are not changing it.

    Inheritance
    Object
    MeshRefinerBase
    Remesher
    EdgeLoopRemesher
    Inherited Members
    Remesher.EnableFlips
    Remesher.EnableCollapses
    Remesher.EnableSplits
    Remesher.EnableSmoothing
    Remesher.PreventNormalFlips
    Remesher.MinEdgeLength
    Remesher.MaxEdgeLength
    Remesher.SmoothSpeedT
    Remesher.SmoothType
    Remesher.CustomSmoothF
    Remesher.VertexControlF
    Remesher.DebugEdges
    Remesher.ProjectionMode
    Remesher.EnableParallelProjection
    Remesher.EnableParallelSmooth
    Remesher.EnableSmoothInPlace
    Remesher.ProjectionTarget
    Remesher.SetProjectionTarget(IProjectionTarget)
    Remesher.SetTargetEdgeLength(Double)
    Remesher.ENABLE_PROFILING
    Remesher.ModifiedEdgesLastPass
    Remesher.BasicRemeshPass()
    Remesher.ProcessEdge(Int32)
    Remesher.update_after_split(Int32, Int32, Int32, DMesh3.EdgeSplitInfo)
    Remesher.project_vertex(Int32, IProjectionTarget)
    Remesher.get_projected_collapse_position(Int32, Vector3d)
    Remesher.FullSmoothPass_InPlace(Boolean)
    Remesher.FullSmoothPass_Buffer(Boolean)
    Remesher.vBufferV
    Remesher.vModifiedV
    Remesher.InitializeVertexBufferForPass()
    Remesher.ApplyVertexBuffer(Boolean)
    Remesher.ComputeSmoothedVertexPos(Int32, Func<DMesh3, Int32, Double, Vector3d>, Boolean)
    Remesher.FullProjectionPass()
    Remesher.ENABLE_DEBUG_CHECKS
    Remesher.DoDebugChecks()
    Remesher.begin_pass()
    Remesher.begin_ops()
    Remesher.end_ops()
    Remesher.end_smooth()
    Remesher.begin_project()
    Remesher.end_project()
    Remesher.begin_collapse()
    Remesher.end_collapse()
    Remesher.begin_flip()
    Remesher.end_flip()
    Remesher.begin_split()
    Remesher.end_split()
    MeshRefinerBase.mesh
    MeshRefinerBase.constraints
    MeshRefinerBase.AllowCollapseFixedVertsWithSameSetID
    MeshRefinerBase.EdgeFlipTolerance
    MeshRefinerBase.edge_flip_tol
    MeshRefinerBase.Mesh
    MeshRefinerBase.Constraints
    MeshRefinerBase.SetExternalConstraints(MeshConstraints)
    MeshRefinerBase.Progress
    MeshRefinerBase.Cancelled()
    MeshRefinerBase.edge_flip_metric(Vector3d, Vector3d)
    MeshRefinerBase.collapse_creates_flip_or_invalid(Int32, Int32, Vector3d, Int32, Int32)
    MeshRefinerBase.flip_inverts_normals(Int32, Int32, Int32, Int32, Int32)
    MeshRefinerBase.can_collapse_constraints(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)
    MeshRefinerBase.can_collapse_vtx(Int32, Int32, Int32, Int32)
    MeshRefinerBase.vertex_is_fixed(Int32)
    MeshRefinerBase.vertex_is_constrained(Int32)
    MeshRefinerBase.get_vertex_constraint(Int32)
    MeshRefinerBase.get_vertex_constraint(Int32, VertexConstraint)
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: g3
    Assembly: cs.temp.dll.dll
    Syntax
    public class EdgeLoopRemesher : Remesher

    Constructors

    EdgeLoopRemesher(DMesh3, EdgeLoop)

    Declaration
    public EdgeLoopRemesher(DMesh3 m, EdgeLoop loop)
    Parameters
    Type Name Description
    DMesh3 m
    EdgeLoop loop

    Fields

    InputLoop

    Declaration
    public EdgeLoop InputLoop
    Field Value
    Type Description
    EdgeLoop

    LocalSmoothingRings

    Can optionally include N one-rings around the loop in the smoothing/projection pass. This will produce cleaner results.

    Declaration
    public int LocalSmoothingRings
    Field Value
    Type Description
    Int32

    OutputLoop

    Declaration
    public EdgeLoop OutputLoop
    Field Value
    Type Description
    EdgeLoop

    Methods

    begin_smooth()

    Declaration
    protected override void begin_smooth()
    Overrides
    Remesher.begin_smooth()

    end_pass()

    Declaration
    protected override void end_pass()
    Overrides
    Remesher.end_pass()

    next_edge(Int32, out Boolean)

    Declaration
    protected override int next_edge(int cur_eid, out bool bDone)
    Parameters
    Type Name Description
    Int32 cur_eid
    Boolean bDone
    Returns
    Type Description
    Int32
    Overrides
    Remesher.next_edge(Int32, out Boolean)

    OnEdgeCollapse(Int32, Int32, Int32, DMesh3.EdgeCollapseInfo)

    Declaration
    protected override void OnEdgeCollapse(int edgeID, int va, int vb, DMesh3.EdgeCollapseInfo collapseInfo)
    Parameters
    Type Name Description
    Int32 edgeID
    Int32 va
    Int32 vb
    DMesh3.EdgeCollapseInfo collapseInfo
    Overrides
    Remesher.OnEdgeCollapse(Int32, Int32, Int32, DMesh3.EdgeCollapseInfo)

    OnEdgeSplit(Int32, Int32, Int32, DMesh3.EdgeSplitInfo)

    Declaration
    protected override void OnEdgeSplit(int edgeID, int va, int vb, DMesh3.EdgeSplitInfo splitInfo)
    Parameters
    Type Name Description
    Int32 edgeID
    Int32 va
    Int32 vb
    DMesh3.EdgeSplitInfo splitInfo
    Overrides
    Remesher.OnEdgeSplit(Int32, Int32, Int32, DMesh3.EdgeSplitInfo)

    Precompute()

    Declaration
    public override void Precompute()
    Overrides
    Remesher.Precompute()

    project_vertices()

    Declaration
    protected override IEnumerable<int> project_vertices()
    Returns
    Type Description
    IEnumerable<Int32>
    Overrides
    Remesher.project_vertices()

    smooth_vertices()

    Declaration
    protected override IEnumerable<int> smooth_vertices()
    Returns
    Type Description
    IEnumerable<Int32>
    Overrides
    Remesher.smooth_vertices()

    start_edges()

    Declaration
    protected override int start_edges()
    Returns
    Type Description
    Int32
    Overrides
    Remesher.start_edges()

    UpdateLoop(EdgeLoop)

    Declaration
    public void UpdateLoop(EdgeLoop loop)
    Parameters
    Type Name Description
    EdgeLoop loop
    In This Article
    Back to top ViRGIS VR GIS