Class MeshFaceSelection
Inheritance
MeshFaceSelection
Namespace: g3
Assembly: cs.temp.dll.dll
Syntax
public class MeshFaceSelection : IEnumerable<int>, IEnumerable
Constructors
MeshFaceSelection(DMesh3)
Declaration
public MeshFaceSelection(DMesh3 mesh)
Parameters
Type |
Name |
Description |
DMesh3 |
mesh |
|
MeshFaceSelection(DMesh3, MeshVertexSelection, Int32)
Declaration
public MeshFaceSelection(DMesh3 mesh, MeshVertexSelection convertV, int minCount = 3)
Parameters
MeshFaceSelection(DMesh3, Int32)
Declaration
public MeshFaceSelection(DMesh3 mesh, int group_id)
Parameters
MeshFaceSelection(MeshFaceSelection)
Declaration
public MeshFaceSelection(MeshFaceSelection copy)
Parameters
Fields
Mesh
Declaration
Field Value
Properties
Bitmap
Declaration
protected BitArray Bitmap { get; }
Property Value
Type |
Description |
BitArray |
|
Count
Declaration
public int Count { get; }
Property Value
Methods
ClipFins(Boolean)
Declaration
public bool ClipFins(bool bClipLoners)
Parameters
Type |
Name |
Description |
Boolean |
bClipLoners |
|
Returns
ContractBorderByOneRingNeighbours()
remove all triangles in vertex one-rings of current selection to set.
On a large mesh this is quite expensive as we don't know the boundary,
so we have to iterate over all triangles.
Return false from FilterF to prevent triangles from being deselected.
Declaration
public void ContractBorderByOneRingNeighbours()
Deselect(IEnumerable<Int32>)
Declaration
public void Deselect(IEnumerable<int> triangles)
Parameters
Deselect(Int32)
Declaration
public void Deselect(int tid)
Parameters
Type |
Name |
Description |
Int32 |
tid |
|
Deselect(Int32[])
Declaration
public void Deselect(int[] triangles)
Parameters
Type |
Name |
Description |
Int32[] |
triangles |
|
DeselectAll()
Declaration
public void DeselectAll()
DeselectGroup(Int32)
Declaration
public void DeselectGroup(int gid)
Parameters
Type |
Name |
Description |
Int32 |
gid |
|
ExpandToFaceNeighbours(Func<Int32, Boolean>)
Declaration
public void ExpandToFaceNeighbours(Func<int, bool> FilterF = null)
Parameters
ExpandToFaceNeighbours(Int32, Func<Int32, Boolean>)
Declaration
public void ExpandToFaceNeighbours(int rounds, Func<int, bool> FilterF = null)
Parameters
ExpandToOneRingNeighbours(Func<Int32, Boolean>)
Add all triangles in vertex one-rings of current selection to set.
On a large mesh this is quite expensive as we don't know the boundary,
so we have to iterate over all triangles.
Return false from FilterF to prevent triangles from being included.
Declaration
public void ExpandToOneRingNeighbours(Func<int, bool> FilterF = null)
Parameters
ExpandToOneRingNeighbours(Int32, Func<Int32, Boolean>)
Expand selection by N vertex one-rings. This is significantly faster
than calling ExpandToOnering() multiple times, because we can track
the growing front and only check the new triangles.
Return false from FilterF to prevent triangles from being included.
Declaration
public void ExpandToOneRingNeighbours(int nRings, Func<int, bool> FilterF = null)
Parameters
FillEars(Boolean)
Declaration
public bool FillEars(bool bFillTinyHoles)
Parameters
Type |
Name |
Description |
Boolean |
bFillTinyHoles |
|
Returns
FindBorderTris()
find set of tris just inside border of selection
Declaration
public List<int> FindBorderTris()
Returns
FindNeighbourTris()
find set of tris just outside border of selection
Declaration
public List<int> FindNeighbourTris()
Returns
FloodFill(Int32, Func<Int32, Boolean>, Func<Int32, Boolean>)
Grow selection outwards from seed triangle, until it hits boundaries defined by triangle and edge filters.
Edge filter is not effective unless it (possibly combined w/ triangle filter) defines closed loops.
Declaration
public void FloodFill(int tSeed, Func<int, bool> TriFilterF = null, Func<int, bool> EdgeFilterF = null)
Parameters
FloodFill(Int32[], Func<Int32, Boolean>, Func<Int32, Boolean>)
Grow selection outwards from seed triangles, until it hits boundaries defined by triangle and edge filters.
Edge filter is not effective unless it (possibly combined w/ triangle filter) defines closed loops.
Declaration
public void FloodFill(int[] Seeds, Func<int, bool> TriFilterF = null, Func<int, bool> EdgeFilterF = null)
Parameters
GetEnumerator()
Declaration
public IEnumerator<int> GetEnumerator()
Returns
IsSelected(Int32)
Declaration
public bool IsSelected(int tid)
Parameters
Type |
Name |
Description |
Int32 |
tid |
|
Returns
LocalOptimize(Boolean)
Declaration
public bool LocalOptimize(bool bRemoveBowties = true)
Parameters
Type |
Name |
Description |
Boolean |
bRemoveBowties |
|
Returns
LocalOptimize(Boolean, Boolean, Boolean, Boolean, Boolean)
Declaration
public bool LocalOptimize(bool bClipFins, bool bFillEars, bool bFillTinyHoles = true, bool bClipLoners = true, bool bRemoveBowties = false)
Parameters
Returns
remove_bowties(HashSet<Int32>)
Declaration
public bool remove_bowties(HashSet<int> tempHash)
Parameters
Type |
Name |
Description |
HashSet<Int32> |
tempHash |
|
Returns
RemoveBowties()
Find any "bowtie" vertices - ie vertex v such taht there is multiple spans of triangles
selected in v's triangle one-ring - and deselect those one-rings.
Returns true if selection was modified.
Declaration
public bool RemoveBowties()
Returns
Select(IEnumerable<Int32>)
Declaration
public void Select(IEnumerable<int> triangles)
Parameters
Select(List<Int32>)
Declaration
public void Select(List<int> triangles)
Parameters
Select(Func<Int32, Boolean>)
Declaration
public void Select(Func<int, bool> selectF)
Parameters
Select(Int32)
Declaration
public void Select(int tid)
Parameters
Type |
Name |
Description |
Int32 |
tid |
|
Select(Int32[])
Declaration
public void Select(int[] triangles)
Parameters
Type |
Name |
Description |
Int32[] |
triangles |
|
SelectEdgeTris(Int32)
Declaration
public void SelectEdgeTris(int eid)
Parameters
Type |
Name |
Description |
Int32 |
eid |
|
SelectGroup(Int32)
Declaration
public void SelectGroup(int gid)
Parameters
Type |
Name |
Description |
Int32 |
gid |
|
SelectGroupInverse(Int32)
Declaration
public void SelectGroupInverse(int gid)
Parameters
Type |
Name |
Description |
Int32 |
gid |
|
SelectVertexOneRing(Int32)
Declaration
public void SelectVertexOneRing(int vid)
Parameters
Type |
Name |
Description |
Int32 |
vid |
|
SelectVertexOneRings(IEnumerable<Int32>)
Declaration
public void SelectVertexOneRings(IEnumerable<int> vertices)
Parameters
SelectVertexOneRings(Int32[])
Declaration
public void SelectVertexOneRings(int[] vertices)
Parameters
Type |
Name |
Description |
Int32[] |
vertices |
|
ToArray()
Declaration
Returns
Implements