Search Results for

    Show / Hide Table of Contents

    Class MeshWindingNumberGrid

    Sample mesh winding number (MWN) on a discrete grid. Can sample full grid, or compute MWN values along a specific iso-contour and then fill in rest of grid with correctly-signed values via fast sweeping (this is the default)

    TODO:

    • I think we are over-exploring the grid most of the time. eg along an x-ray that intersects the surface, we only need at most 2 cells, but we are computing at least 3, and possibly 5.
    • it may be better to use something like bloomenthal polygonizer continuation? where we are keeping track of active edges instead of active cells?
    Inheritance
    Object
    MeshWindingNumberGrid
    Inherited Members
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: gs
    Assembly: cs.temp.dll.dll
    Syntax
    public class MeshWindingNumberGrid

    Constructors

    MeshWindingNumberGrid(DMesh3, DMeshAABBTree3, Double)

    Declaration
    public MeshWindingNumberGrid(DMesh3 mesh, DMeshAABBTree3 spatial, double cellSize)
    Parameters
    Type Name Description
    DMesh3 mesh
    DMeshAABBTree3 spatial
    Double cellSize

    Fields

    BufferCells

    Declaration
    public int BufferCells
    Field Value
    Type Description
    Int32

    CancelF

    if this function returns true, we should abort calculation

    Declaration
    public Func<bool> CancelF
    Field Value
    Type Description
    Func<Boolean>

    CellSize

    Declaration
    public double CellSize
    Field Value
    Type Description
    Double

    ComputeMode

    Declaration
    public MeshWindingNumberGrid.ComputeModes ComputeMode
    Field Value
    Type Description
    MeshWindingNumberGrid.ComputeModes

    DebugPrint

    Declaration
    public bool DebugPrint
    Field Value
    Type Description
    Boolean

    Mesh

    Declaration
    public DMesh3 Mesh
    Field Value
    Type Description
    DMesh3

    MeshSpatial

    Declaration
    public DMeshAABBTree3 MeshSpatial
    Field Value
    Type Description
    DMeshAABBTree3

    WantMeshSDFGrid

    Declaration
    public bool WantMeshSDFGrid
    Field Value
    Type Description
    Boolean

    WindingIsoValue

    Declaration
    public float WindingIsoValue
    Field Value
    Type Description
    Single

    Properties

    Dimensions

    Declaration
    public Vector3i Dimensions { get; }
    Property Value
    Type Description
    Vector3i

    Grid

    winding-number grid available after calling Compute()

    Declaration
    public DenseGrid3f Grid { get; }
    Property Value
    Type Description
    DenseGrid3f

    GridOrigin

    Origin of the winding-number grid, in same coordinates as mesh

    Declaration
    public Vector3f GridOrigin { get; }
    Property Value
    Type Description
    Vector3f

    Item[Int32, Int32, Int32]

    Declaration
    public float this[int i, int j, int k] { get; }
    Parameters
    Type Name Description
    Int32 i
    Int32 j
    Int32 k
    Property Value
    Type Description
    Single

    SDFGrid

    If ComputeMode==NarrowBand, then we internally compute a signed-distance grid, which will hang onto

    Declaration
    public MeshSignedDistanceGrid SDFGrid { get; }
    Property Value
    Type Description
    MeshSignedDistanceGrid

    Methods

    CellCenter(Int32, Int32, Int32)

    Declaration
    public Vector3f CellCenter(int i, int j, int k)
    Parameters
    Type Name Description
    Int32 i
    Int32 j
    Int32 k
    Returns
    Type Description
    Vector3f

    Compute()

    Declaration
    public void Compute()
    In This Article
    Back to top ViRGIS VR GIS