Search Results for

    Show / Hide Table of Contents

    Class RemesherPro

    Extension to Remesher that is smarter about which edges/vertices to touch:

    • queue tracks edges that were affected on last pass, and hence might need to be updated
    • FastSplitIteration() just does splits, to reach target edge length as quickly as possible
    • RemeshIteration() applies remesh pass for modified edges
    • TrackedSmoothPass() smooths all vertices but only adds to queue if edge changes enough
    • TrackedProjectionPass() same
    Inheritance
    Object
    RemesherPro
    Namespace: gs
    Assembly: cs.temp.dll.dll
    Syntax
    public class RemesherPro : Remesher

    Constructors

    RemesherPro(DMesh3)

    Declaration
    public RemesherPro(DMesh3 m)
    Parameters
    Type Name Description
    DMesh3 m

    Fields

    FaceProjectionPassesPerIteration

    Declaration
    public int FaceProjectionPassesPerIteration
    Field Value
    Type Description
    Int32

    UseFaceAlignedProjection

    Declaration
    public bool UseFaceAlignedProjection
    Field Value
    Type Description
    Boolean

    vBufferVWeights

    Declaration
    protected DVector<double> vBufferVWeights
    Field Value
    Type Description
    DVector<Double>

    Methods

    ComputeProjectedVertexPos(Int32, out Boolean)

    This computes projected position w/ proper constraints/etc. Does not modify mesh.

    Declaration
    protected virtual Vector3d ComputeProjectedVertexPos(int vID, out bool bModified)
    Parameters
    Type Name Description
    Int32 vID
    Boolean bModified
    Returns
    Type Description
    Vector3d

    EdgesIterator()

    Declaration
    protected IEnumerable<int> EdgesIterator()
    Returns
    Type Description
    IEnumerable<Int32>

    FastestRemesh(Int32, Boolean)

    Converge on remeshed result as quickly as possible

    Declaration
    public void FastestRemesh(int nMaxIterations = 25, bool bDoFastSplits = true)
    Parameters
    Type Name Description
    Int32 nMaxIterations
    Boolean bDoFastSplits

    FastSplitIteration()

    This pass only does edge splits. Returns number of split edges. Tracks previously-split

    Declaration
    public int FastSplitIteration()
    Returns
    Type Description
    Int32

    InitializeBuffersForFacePass()

    Declaration
    protected virtual void InitializeBuffersForFacePass()

    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

    PopState()

    Declaration
    public void PopState()

    PushState()

    Declaration
    public void PushState()

    RemeshIteration()

    Declaration
    public virtual void RemeshIteration()

    ResetQueue()

    Reset tracked-edges queue. Should be called if mesh is modified by external functions between passes, and also between different types of passes (eg FastSplitIteration vs RemeshIteration)

    Declaration
    public void ResetQueue()

    SharpEdgeReprojectionRemesh(Int32, Int32, Boolean)

    This is a remesh that tries to recover sharp edges by aligning triangles to face normals of our projection target (similar to Ohtake RZN-flow).

    Declaration
    public void SharpEdgeReprojectionRemesh(int nRemeshIterations, int nTuneIterations, bool bDoFastSplits = true)
    Parameters
    Type Name Description
    Int32 nRemeshIterations
    Int32 nTuneIterations
    Boolean bDoFastSplits

    TrackedFaceProjectionPass()

    Declaration
    protected virtual void TrackedFaceProjectionPass()

    TrackedProjectionPass(Boolean)

    Declaration
    protected virtual void TrackedProjectionPass(bool bParallel)
    Parameters
    Type Name Description
    Boolean bParallel

    TrackedSmoothPass(Boolean)

    Declaration
    protected virtual void TrackedSmoothPass(bool bParallel)
    Parameters
    Type Name Description
    Boolean bParallel
    In This Article
    Back to top ViRGIS VR GIS