HE_Mesh  6.0.1
wblut.hemesh.HE_Selection Class Reference
+ Inheritance diagram for wblut.hemesh.HE_Selection:

Public Member Functions

 HE_Selection (final HE_Mesh parent)
 
String getName ()
 
void setName (final String name)
 
final int getNumberOfFaces ()
 
final int getNumberOfHalfedges ()
 
int getNumberOfEdges ()
 
final int getNumberOfVertices ()
 
final HE_Face getFaceWithKey (final long key)
 
final HE_Halfedge getHalfedgeWithKey (final long key)
 
final HE_Halfedge getEdgeWithKey (final long key)
 
final HE_Vertex getVertexWithKey (final long key)
 
final HE_Face getFaceWithIndex (final int i)
 
final HE_Halfedge getHalfedgeWithIndex (final int i)
 
final HE_Halfedge getEdgeWithIndex (final int i)
 
final HE_Vertex getVertexWithIndex (final int i)
 
final void add (final HE_Element el)
 
final void add (final HE_Face f)
 
void add (final HE_Halfedge he)
 
final void add (final HE_Vertex v)
 
void add (final HE_Mesh mesh)
 
final void addFaces (final HE_Face[] faces)
 
final void addFaces (final Collection<?extends HE_Face > faces)
 
final void addFaces (final HE_HalfedgeStructure source)
 
final void addHalfedges (final HE_Halfedge[] halfedges)
 
final void addHalfedges (final Collection<?extends HE_Halfedge > halfedges)
 
final void addHalfedges (final HE_HalfedgeStructure source)
 
final void addEdges (final HE_Halfedge[] edges)
 
final void addEdges (final Collection<?extends HE_Halfedge > edges)
 
final void addEdges (final HE_HalfedgeStructure source)
 
final void addVertices (final HE_Vertex[] vertices)
 
final void addVertices (final HE_HalfedgeStructure source)
 
final void addVertices (final Collection<?extends HE_Vertex > vertices)
 
final void addBoundaries (final HE_Boundary[] boundaries)
 
void remove (final HE_Face f)
 
void remove (final HE_Halfedge he)
 
void remove (final HE_Vertex v)
 
final void removeFaces (final HE_Face[] faces)
 
final void removeFaces (final Collection<?extends HE_Face > faces)
 
final void removeHalfedges (final HE_Halfedge[] halfedges)
 
final void removeHalfedges (final Collection<?extends HE_Halfedge > halfedges)
 
final void removeEdges (final HE_Halfedge[] edges)
 
final void removeEdges (final Collection<?extends HE_Halfedge > edges)
 
final void removeVertices (final HE_Vertex[] vertices)
 
final void removeVertices (final Collection<?extends HE_Vertex > vertices)
 
void clear ()
 
void clearFaces ()
 
void clearHalfedges ()
 
final void clearEdges ()
 
void clearVertices ()
 
final boolean contains (final HE_Element el)
 
final boolean contains (final HE_Face f)
 
final boolean contains (final HE_Halfedge he)
 
final boolean contains (final HE_Vertex v)
 
final WB_AABB getAABB ()
 
final WB_Sphere getBoundingSphere ()
 
final double[] getLimits ()
 
final List< HE_VertexgetVertices ()
 
final HE_Vertex[] getVerticesAsArray ()
 
final List< HE_HalfedgegetHalfedges ()
 
final HE_Halfedge[] getHalfedgesAsArray ()
 
final List< HE_HalfedgegetEdges ()
 
final HE_Halfedge[] getEdgesAsArray ()
 
final List< HE_FacegetFaces ()
 
final HE_Face[] getFacesAsArray ()
 
final boolean containsFace (final long key)
 
final boolean containsHalfedge (final long key)
 
final boolean containsEdge (final long key)
 
final boolean containsVertex (final long key)
 
final int getIndex (final HE_Face f)
 
final int getIndex (final HE_Halfedge edge)
 
final int getIndex (final HE_Vertex v)
 
HE_VertexIterator vItr ()
 
HE_EdgeIterator eItr ()
 
HE_HalfedgeIterator heItr ()
 
HE_FaceIterator fItr ()
 
List< HE_HalfedgegetAllBoundaryHalfedges ()
 
HE_Mesh modify (final HEM_Modifier modifier)
 
HE_Mesh subdivide (final HES_Subdividor subdividor)
 
HE_Mesh subdivide (final HES_Subdividor subdividor, final int rep)
 
HE_Mesh simplify (final HES_Simplifier simplifier)
 
List< HE_HalfedgegetOuterEdges ()
 
List< HE_HalfedgegetInnerEdges ()
 
List< HE_VertexgetOuterVertices ()
 
List< HE_VertexgetInnerVertices ()
 
List< HE_VertexgetAllBoundaryVertices ()
 
List< HE_HalfedgegetOuterHalfedges ()
 
List< HE_HalfedgegetOuterHalfedgesInside ()
 
List< HE_HalfedgegetInnerHalfedges ()
 
HE_Selection get ()
 
HE_Mesh getAsMesh ()
 
void completeFromFaces ()
 
void add (final HE_Selection sel)
 
void union (final HE_Selection sel)
 
void subtract (final HE_Selection sel)
 
void intersect (final HE_Selection sel)
 
void grow ()
 
void grow (final int n)
 
void shrink ()
 
void shrink (final int n)
 
void surround ()
 
void surround (final int n)
 
void smooth (final int threshold)
 
void smooth (final double threshold)
 
HE_Selection invertSelection ()
 
HE_Selection invertFaces ()
 
HE_Selection invertEdges ()
 
HE_Selection invertVertices ()
 
HE_Selection invertHalfedges ()
 
HE_Selection cleanSelection ()
 
void collectVertices ()
 
void collectFaces ()
 
void collectEdgesByFace ()
 
void collectEdgesByVertex ()
 
void collectHalfedges ()
 
void addEdge (final HE_Halfedge he)
 
String createdBy ()
 
- Public Member Functions inherited from wblut.hemesh.HE_MeshElement
 HE_MeshElement ()
 
void clearVisited ()
 
void setVisited ()
 
void setVisited (final boolean b)
 
boolean isVisited ()
 
void setVisible (final boolean b)
 
boolean isVisible ()
 
int hashCode ()
 
boolean equals (final Object other)
 
void copyProperties (final HE_MeshElement el)
 
int getColor ()
 
void setColor (final int color)
 
- Public Member Functions inherited from wblut.hemesh.HE_Element
 HE_Element ()
 
final void setUserLabel (final int label)
 
final long getKey ()
 
final int getInternalLabel ()
 
final int getUserLabel ()
 
int hashCode ()
 
boolean equals (final Object other)
 
void copyProperties (final HE_Element el)
 
- Public Member Functions inherited from wblut.hemesh.HE_HalfedgeStructure
void add (HE_Element el)
 
void add (HE_Face f)
 
void add (HE_Halfedge he)
 
void add (HE_Mesh mesh)
 
void add (HE_Vertex v)
 
void addFaces (Collection<?extends HE_Face > faces)
 
void addFaces (HE_Face[] faces)
 
void addFaces (HE_HalfedgeStructure source)
 
void addHalfedges (Collection<?extends HE_Halfedge > halfedges)
 
void addHalfedges (HE_Halfedge[] halfedges)
 
void addHalfedges (HE_HalfedgeStructure source)
 
void addVertices (Collection<?extends HE_Vertex > vertices)
 
void addVertices (HE_HalfedgeStructure source)
 
void addVertices (HE_Vertex[] vertices)
 
boolean contains (HE_Element el)
 
HE_Halfedge getEdgeWithIndex (int i)
 
HE_Face getFaceWithIndex (int i)
 
HE_Halfedge getHalfedgeWithIndex (int i)
 
HE_Vertex getVertexWithIndex (int i)
 
HE_Mesh modify (HEM_Modifier modifier)
 
void remove (HE_Face f)
 
void remove (HE_Halfedge he)
 
void remove (HE_Vertex v)
 
void removeEdges (Collection<?extends HE_Halfedge > edges)
 
void removeEdges (HE_Halfedge[] edges)
 
void removeFaces (Collection<?extends HE_Face > faces)
 
void removeFaces (HE_Face[] faces)
 
void removeHalfedges (Collection<?extends HE_Halfedge > halfedges)
 
void removeHalfedges (HE_Halfedge[] halfedges)
 
void removeVertices (Collection<?extends HE_Vertex > vertices)
 
void removeVertices (HE_Vertex[] vertices)
 
void setName (String name)
 
HE_Mesh simplify (HES_Simplifier simplifier)
 
HE_Mesh subdivide (HES_Subdividor subdividor)
 
HE_Mesh subdivide (HES_Subdividor subdividor, int rep)
 
HE_Face getFaceWithKey (long key)
 
HE_Halfedge getHalfedgeWithKey (long key)
 
HE_Halfedge getEdgeWithKey (long key)
 
HE_Vertex getVertexWithKey (long key)
 
boolean contains (HE_Face f)
 
boolean contains (HE_Halfedge he)
 
boolean contains (HE_Vertex v)
 
boolean containsFace (long key)
 
boolean containsHalfedge (long key)
 
boolean containsEdge (long key)
 
boolean containsVertex (long key)
 
int getIndex (HE_Face f)
 
int getIndex (HE_Halfedge edge)
 
int getIndex (HE_Vertex v)
 

Protected Member Functions

void clearPrecomputed ()
 
- Protected Member Functions inherited from wblut.hemesh.HE_MeshElement
abstract void clear ()
 
- Protected Member Functions inherited from wblut.hemesh.HE_Element
final void setInternalLabel (final int label)
 
abstract void clear ()
 
abstract void clearPrecomputed ()
 

Protected Attributes

WB_GeometryFactory gf = new WB_GeometryFactory()
 
- Protected Attributes inherited from wblut.hemesh.HE_MeshElement
volatile boolean visited
 
boolean visible
 
int color
 
- Protected Attributes inherited from wblut.hemesh.HE_Element
final long key
 
int internalLabel
 
int userLabel
 

Private Member Functions

 HE_Selection ()
 

Private Attributes

HE_RAS< HE_Vertexvertices
 
HE_RAS< HE_Halfedgehalfedges
 
HE_RAS< HE_Halfedgeedges
 
HE_RAS< HE_Facefaces
 

Additional Inherited Members

- Static Protected Attributes inherited from wblut.hemesh.HE_MeshElement
static final WB_GeometryFactory gf = new WB_GeometryFactory()
 
static final WB_ProgressTracker tracker = WB_ProgressTracker.instance()
 
- Static Protected Attributes inherited from wblut.hemesh.HE_Element
static AtomicLong currentKey = new AtomicLong(0)
 

Detailed Description

Collection of mesh elements. Contains methods to manipulate selections

Author
Frederik Vanhoutte (W:Blut)

Constructor & Destructor Documentation

wblut.hemesh.HE_Selection.HE_Selection ( )
private
wblut.hemesh.HE_Selection.HE_Selection ( final HE_Mesh  parent)

Instantiates a new HE_Selection.

Parameters
parent

Member Function Documentation

final void wblut.hemesh.HE_Selection.add ( final HE_Element  el)
final void wblut.hemesh.HE_Selection.add ( final HE_Face  f)

Add face.

Parameters
fface to add

References wblut.hemesh.HE_RAS< E extends HE_Element >.add().

void wblut.hemesh.HE_Selection.add ( final HE_Halfedge  he)

Adds halfedge.

Parameters
hehalfedge to add

References wblut.hemesh.HE_RAS< E extends HE_Element >.add(), and wblut.hemesh.HE_Halfedge.isEdge().

final void wblut.hemesh.HE_Selection.add ( final HE_Vertex  v)

Add vertex.

Parameters
vvertex to add

References wblut.hemesh.HE_RAS< E extends HE_Element >.add().

final void wblut.hemesh.HE_Selection.addBoundaries ( final HE_Boundary[]  boundaries)
Parameters
boundaries

References wblut.hemesh.HE_Selection.add().

final void wblut.hemesh.HE_Selection.addEdges ( final HE_Halfedge[]  edges)

Adds halfedges.

Parameters
halfedgeshalfedges to add as HE_Halfedge[]

References wblut.hemesh.HE_Selection.add().

final void wblut.hemesh.HE_Selection.addEdges ( final Collection<?extends HE_Halfedge edges)

Adds halfedges.

Parameters
halfedgeshalfedges to add as Collection<? extends HE_Halfedge>

References wblut.hemesh.HE_Selection.add().

final void wblut.hemesh.HE_Selection.addEdges ( final HE_HalfedgeStructure  source)
Parameters
source

References wblut.hemesh.HE_HalfedgeStructure.getEdges().

final void wblut.hemesh.HE_Selection.addFaces ( final HE_Face[]  faces)

Adds faces.

Parameters
facesfaces to add as HE_Face[]

References wblut.hemesh.HE_Selection.add().

final void wblut.hemesh.HE_Selection.addFaces ( final Collection<?extends HE_Face faces)

Adds faces.

Parameters
facesfaces to add as Collection<? extends HE_Face>

References wblut.hemesh.HE_Selection.add().

final void wblut.hemesh.HE_Selection.addFaces ( final HE_HalfedgeStructure  source)
Parameters
source

References wblut.hemesh.HE_HalfedgeStructure.getFaces().

final void wblut.hemesh.HE_Selection.addHalfedges ( final HE_Halfedge[]  halfedges)

Adds halfedges.

Parameters
halfedgeshalfedges to add as HE_Halfedge[]

References wblut.hemesh.HE_Selection.add().

final void wblut.hemesh.HE_Selection.addHalfedges ( final Collection<?extends HE_Halfedge halfedges)

Adds halfedges.

Parameters
halfedgeshalfedges to add as Collection<? extends HE_Halfedge>

References wblut.hemesh.HE_Selection.add().

final void wblut.hemesh.HE_Selection.addHalfedges ( final HE_HalfedgeStructure  source)
final void wblut.hemesh.HE_Selection.addVertices ( final HE_Vertex[]  vertices)

Adds vertices.

Parameters
verticesvertices to add as HE_Vertex[]

References wblut.hemesh.HE_Selection.add().

final void wblut.hemesh.HE_Selection.addVertices ( final HE_HalfedgeStructure  source)
Parameters
source

References wblut.hemesh.HE_HalfedgeStructure.getVertices().

final void wblut.hemesh.HE_Selection.addVertices ( final Collection<?extends HE_Vertex vertices)

Adds vertices.

Parameters
verticesvertices to add as Collection<? extends HE_Vertex>

References wblut.hemesh.HE_Selection.add().

final void wblut.hemesh.HE_Selection.clearEdges ( )

Clear edges.

Implements wblut.hemesh.HE_HalfedgeStructure.

void wblut.hemesh.HE_Selection.clearFaces ( )

Clear faces.

Implements wblut.hemesh.HE_HalfedgeStructure.

void wblut.hemesh.HE_Selection.clearHalfedges ( )

Clear halfedges.

Implements wblut.hemesh.HE_HalfedgeStructure.

void wblut.hemesh.HE_Selection.clearPrecomputed ( )
protected
void wblut.hemesh.HE_Selection.clearVertices ( )

Clear vertices.

Implements wblut.hemesh.HE_HalfedgeStructure.

void wblut.hemesh.HE_Selection.completeFromFaces ( )

Add all halfedges and vertices belonging to the faces of the selection, except the outer boundary halfedges that belong to other faces. This clears all vertices and halfedges that might have been part of the selection. It also makes sure that vertices only refer to halfedges inside the selection. After this operation is done, the selection is in essence a self-consistent, open submesh, lacking only the halfedge caps on the boundaries that could refer to non-included faces.

References wblut.hemesh.HE_Selection.add(), wblut.hemesh.HE_Selection.clearHalfedges(), wblut.hemesh.HE_Selection.clearVertices(), wblut.hemesh.HE_Selection.contains(), wblut.hemesh.HE_Selection.fItr(), wblut.hemesh.HE_Vertex.getHalfedge(), wblut.hemesh.HE_Halfedge.getPair(), wblut.hemesh.HE_Halfedge.getVertex(), wblut.hemesh.HE_FaceIterator.hasNext(), wblut.hemesh.HE_FaceHalfedgeInnerCirculator.hasNext(), wblut.hemesh.HE_FaceVertexCirculator.hasNext(), wblut.hemesh.HE_Halfedge.isOuterBoundary(), wblut.hemesh.HE_FaceIterator.next(), wblut.hemesh.HE_FaceVertexCirculator.next(), wblut.hemesh.HE_FaceHalfedgeInnerCirculator.next(), and wblut.hemesh.HE_Mesh.setHalfedge().

final boolean wblut.hemesh.HE_Selection.contains ( final HE_Element  el)
final boolean wblut.hemesh.HE_Selection.contains ( final HE_Face  f)

Check if structure contains face.

Parameters
fface
Returns
true, if successful

References wblut.hemesh.HE_RAS< E extends HE_Element >.contains().

final boolean wblut.hemesh.HE_Selection.contains ( final HE_Halfedge  he)

Check if structure contains halfedge.

Parameters
hehalfedge
Returns
true, if successful

References wblut.hemesh.HE_RAS< E extends HE_Element >.contains().

final boolean wblut.hemesh.HE_Selection.contains ( final HE_Vertex  v)

Check if structure contains vertex.

Parameters
vvertex
Returns
true, if successful

References wblut.hemesh.HE_RAS< E extends HE_Element >.contains().

final boolean wblut.hemesh.HE_Selection.containsEdge ( final long  key)
final boolean wblut.hemesh.HE_Selection.containsFace ( final long  key)
final boolean wblut.hemesh.HE_Selection.containsHalfedge ( final long  key)
final boolean wblut.hemesh.HE_Selection.containsVertex ( final long  key)
String wblut.hemesh.HE_Selection.createdBy ( )
HE_EdgeIterator wblut.hemesh.HE_Selection.eItr ( )

Edge iterator.

Returns
edge iterator

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_Selection.edges.

HE_FaceIterator wblut.hemesh.HE_Selection.fItr ( )

Face iterator.

Returns
face iterator

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_Selection.getFaces().

final WB_AABB wblut.hemesh.HE_Selection.getAABB ( )

Get axis-aligned bounding box surrounding mesh.

Returns
WB_AABB axis-aligned bounding box

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.geom.WB_GeometryFactory3D.createPoint(), and wblut.hemesh.HE_Selection.getLimits().

List<HE_Halfedge> wblut.hemesh.HE_Selection.getAllBoundaryHalfedges ( )

Collect all boundary halfedges.

Returns
boundary halfedges

References wblut.hemesh.HE_Selection.heItr().

List<HE_Vertex> wblut.hemesh.HE_Selection.getAllBoundaryVertices ( )

Get vertices in selection on mesh boundary.

Returns
boundary vertices in selection as FastList<HE_Vertex>

References wblut.hemesh.HE_Halfedge.getEndVertex(), wblut.hemesh.HE_Halfedge.getFace(), wblut.hemesh.HE_Selection.getOuterEdges(), wblut.hemesh.HE_Halfedge.getPair(), and wblut.hemesh.HE_Halfedge.getVertex().

HE_Mesh wblut.hemesh.HE_Selection.getAsMesh ( )

Creates a submesh from the faces in the selection. The original mesh is not modified. It is not necessary to use completeFromFaces before using this operation.

Returns
final WB_Sphere wblut.hemesh.HE_Selection.getBoundingSphere ( )
final List<HE_Halfedge> wblut.hemesh.HE_Selection.getEdges ( )
final HE_Halfedge [] wblut.hemesh.HE_Selection.getEdgesAsArray ( )
final HE_Halfedge wblut.hemesh.HE_Selection.getEdgeWithIndex ( final int  i)

Get edge with index. Indices of mesh elements are not fixed and will change when the mesh is modified.

Parameters
iedge index
Returns

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithIndex(), and wblut.hemesh.HE_RAS< E extends HE_Element >.size().

final HE_Halfedge wblut.hemesh.HE_Selection.getEdgeWithKey ( final long  key)

Get edge with key. The key of a mesh element is unique and never changes.

Parameters
keyhalfedge key
Returns
halfedge

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithKey().

final List<HE_Face> wblut.hemesh.HE_Selection.getFaces ( )
final HE_Face [] wblut.hemesh.HE_Selection.getFacesAsArray ( )
final HE_Face wblut.hemesh.HE_Selection.getFaceWithIndex ( final int  i)

Get face with index. Indices of mesh elements are not fixed and will change when the mesh is modified.

Parameters
iface index
Returns

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithIndex(), and wblut.hemesh.HE_RAS< E extends HE_Element >.size().

final HE_Face wblut.hemesh.HE_Selection.getFaceWithKey ( final long  key)

Get face with key. The key of a mesh element is unique and never changes.

Parameters
keyface key
Returns
face

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithKey().

final List<HE_Halfedge> wblut.hemesh.HE_Selection.getHalfedges ( )
final HE_Halfedge [] wblut.hemesh.HE_Selection.getHalfedgesAsArray ( )

Halfedges as array.

Returns
all halfedges as HE_Halfedge[]

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_Selection.getHalfedges(), and wblut.hemesh.HE_Selection.halfedges.

final HE_Halfedge wblut.hemesh.HE_Selection.getHalfedgeWithIndex ( final int  i)

Get halfedge with index. Indices of mesh elements are not fixed and will change when the mesh is modified.

Parameters
ihalfedge index
Returns

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithIndex(), and wblut.hemesh.HE_RAS< E extends HE_Element >.size().

final HE_Halfedge wblut.hemesh.HE_Selection.getHalfedgeWithKey ( final long  key)

Get halfedge with key. The key of a mesh element is unique and never changes.

Parameters
keyhalfedge key
Returns
halfedge

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithKey().

final int wblut.hemesh.HE_Selection.getIndex ( final HE_Face  f)
final int wblut.hemesh.HE_Selection.getIndex ( final HE_Halfedge  edge)
Parameters
edge
Returns

References wblut.hemesh.HE_RAS< E extends HE_Element >.indexOf().

final int wblut.hemesh.HE_Selection.getIndex ( final HE_Vertex  v)
List<HE_Halfedge> wblut.hemesh.HE_Selection.getInnerEdges ( )

Get inner edges.

Returns
inner edges as FastList<HE_Edge>

References wblut.hemesh.HE_Selection.collectEdgesByFace(), wblut.hemesh.HE_Selection.contains(), and wblut.hemesh.HE_Selection.heItr().

List<HE_Halfedge> wblut.hemesh.HE_Selection.getInnerHalfedges ( )

Get innerhalfedges.

Returns
inner halfedges as FastList<HE_halfedge>

References wblut.hemesh.HE_Selection.collectHalfedges(), wblut.hemesh.HE_Selection.contains(), and wblut.hemesh.HE_Selection.heItr().

List<HE_Vertex> wblut.hemesh.HE_Selection.getInnerVertices ( )
final double [] wblut.hemesh.HE_Selection.getLimits ( )

Get range of vertex coordinates.

Returns
array of limit values: min x, min y, min z, max x, max y, max z

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_Selection.getVertexWithIndex(), wblut.hemesh.HE_RAS< E extends HE_Element >.size(), wblut.hemesh.HE_Vertex.xd(), wblut.hemesh.HE_Vertex.yd(), and wblut.hemesh.HE_Vertex.zd().

String wblut.hemesh.HE_Selection.getName ( )
int wblut.hemesh.HE_Selection.getNumberOfEdges ( )

Number of edges.

Returns
the number of edges

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_RAS< E extends HE_Element >.size().

final int wblut.hemesh.HE_Selection.getNumberOfFaces ( )

Number of faces.

Returns
the number of faces

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_RAS< E extends HE_Element >.size().

final int wblut.hemesh.HE_Selection.getNumberOfHalfedges ( )

Number of halfedges.

Returns
the number of halfedges

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_RAS< E extends HE_Element >.size().

final int wblut.hemesh.HE_Selection.getNumberOfVertices ( )

Number of vertices.

Returns
the number of vertices

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_RAS< E extends HE_Element >.size().

List<HE_Halfedge> wblut.hemesh.HE_Selection.getOuterEdges ( )

Get outer edges.

Returns
outer edges as FastList<HE_Edge>

References wblut.hemesh.HE_Selection.collectEdgesByFace(), wblut.hemesh.HE_Selection.contains(), and wblut.hemesh.HE_Selection.heItr().

List<HE_Halfedge> wblut.hemesh.HE_Selection.getOuterHalfedges ( )

Get outer halfedges.

Returns
outside halfedges of outer edges as FastList<HE_halfedge>

References wblut.hemesh.HE_Selection.collectHalfedges(), wblut.hemesh.HE_Selection.contains(), and wblut.hemesh.HE_Selection.heItr().

List<HE_Halfedge> wblut.hemesh.HE_Selection.getOuterHalfedgesInside ( )

Get outer halfedges.

Returns
inside halfedges of outer edges as FastList<HE_halfedge>

References wblut.hemesh.HE_Selection.collectHalfedges(), wblut.hemesh.HE_Selection.contains(), and wblut.hemesh.HE_Selection.heItr().

List<HE_Vertex> wblut.hemesh.HE_Selection.getOuterVertices ( )

Get outer vertices.

Returns
outer vertices as FastList<HE_Vertex>

References wblut.hemesh.HE_Halfedge.getEndVertex(), wblut.hemesh.HE_Selection.getOuterEdges(), and wblut.hemesh.HE_Halfedge.getVertex().

final HE_Vertex wblut.hemesh.HE_Selection.getVertexWithIndex ( final int  i)

Get vertex with index. Indices of mesh elements are not fixed and will change when the mesh is modified.

Parameters
ivertex index
Returns

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithIndex(), and wblut.hemesh.HE_RAS< E extends HE_Element >.size().

final HE_Vertex wblut.hemesh.HE_Selection.getVertexWithKey ( final long  key)

Get vertex with key. The key of a mesh element is unique and never changes.

Parameters
keyvertex key
Returns
vertex

References wblut.hemesh.HE_RAS< E extends HE_Element >.getWithKey().

final List<HE_Vertex> wblut.hemesh.HE_Selection.getVertices ( )
final HE_Vertex [] wblut.hemesh.HE_Selection.getVerticesAsArray ( )
void wblut.hemesh.HE_Selection.grow ( final int  n)

Grow face selection outwards.

Parameters
nnumber of faces to grow

References wblut.hemesh.HE_Selection.grow().

HE_HalfedgeIterator wblut.hemesh.HE_Selection.heItr ( )
HE_Selection wblut.hemesh.HE_Selection.invertSelection ( )
HE_Mesh wblut.hemesh.HE_Selection.modify ( final HEM_Modifier  modifier)

Modify the mesh.

Parameters
modifierHE_Modifier to apply
Returns
self

References wblut.hemesh.HEM_Modifier.apply(), and wblut.hemesh.HE_Mesh.clearPrecomputed().

void wblut.hemesh.HE_Selection.remove ( final HE_Face  f)

Removes face.

Parameters
fface to remove

References wblut.hemesh.HE_RAS< E extends HE_Element >.remove().

void wblut.hemesh.HE_Selection.remove ( final HE_Halfedge  he)

Removes halfedge.

Parameters
hehalfedge to remove

References wblut.hemesh.HE_RAS< E extends HE_Element >.remove().

void wblut.hemesh.HE_Selection.remove ( final HE_Vertex  v)

Removes vertex.

Parameters
vvertex to remove

References wblut.hemesh.HE_RAS< E extends HE_Element >.remove().

final void wblut.hemesh.HE_Selection.removeEdges ( final HE_Halfedge[]  edges)

Removes edges.

Parameters
edgesedges to remove as HE_Halfedge[]
final void wblut.hemesh.HE_Selection.removeEdges ( final Collection<?extends HE_Halfedge edges)

Removes edges.

Parameters
edgesedges to remove as Collection<? extends HE_Halfedge>
final void wblut.hemesh.HE_Selection.removeFaces ( final HE_Face[]  faces)

Removes faces.

Parameters
facesfaces to remove as HE_Face[]
final void wblut.hemesh.HE_Selection.removeFaces ( final Collection<?extends HE_Face faces)

Removes faces.

Parameters
facesfaces to remove as Collection<? extends HE_Face>
final void wblut.hemesh.HE_Selection.removeHalfedges ( final HE_Halfedge[]  halfedges)

Removes halfedges.

Parameters
halfedgeshalfedges to remove as HE_Halfedge[]
final void wblut.hemesh.HE_Selection.removeHalfedges ( final Collection<?extends HE_Halfedge halfedges)

Removes halfedges.

Parameters
halfedgeshalfedges to remove as Collection<? extends HE_Halfedge>
final void wblut.hemesh.HE_Selection.removeVertices ( final HE_Vertex[]  vertices)

Removes vertices.

Parameters
verticesvertices to remove as HE_Vertex[]
final void wblut.hemesh.HE_Selection.removeVertices ( final Collection<?extends HE_Vertex vertices)

Removes vertices.

Parameters
verticesvertices to remove as Collection<? extends HE_Vertex>
void wblut.hemesh.HE_Selection.setName ( final String  name)
void wblut.hemesh.HE_Selection.shrink ( )
void wblut.hemesh.HE_Selection.shrink ( final int  n)

Shrink face selection inwards.

Parameters
nnumber of faces to shrink

References wblut.hemesh.HE_Selection.shrink().

HE_Mesh wblut.hemesh.HE_Selection.simplify ( final HES_Simplifier  simplifier)

Simplify.

Parameters
simplifierthe simplifier
Returns
the h e_ mesh

References wblut.hemesh.HES_Simplifier.apply(), and wblut.hemesh.HE_Mesh.clearPrecomputed().

void wblut.hemesh.HE_Selection.smooth ( final int  threshold)

Add faces with certain number of edges in selection to selection.

Parameters
thresholdnumber of edges that have to belong to the selection before a face is added

References wblut.hemesh.HE_Selection.add(), wblut.hemesh.HE_Selection.contains(), wblut.hemesh.HE_Halfedge.getFace(), wblut.hemesh.HE_Face.getHalfedge(), wblut.hemesh.HE_Halfedge.getNextInFace(), wblut.hemesh.HE_Halfedge.getPair(), and wblut.hemesh.HE_Selection.heItr().

void wblut.hemesh.HE_Selection.smooth ( final double  threshold)

Add faces with certain proportion of edges in selection to selection.

Parameters
thresholdnumber of edges that have to belong to the selection before a face is added

References wblut.hemesh.HE_Selection.add(), wblut.hemesh.HE_Selection.contains(), wblut.hemesh.HE_Halfedge.getFace(), wblut.hemesh.HE_Face.getFaceDegree(), wblut.hemesh.HE_Face.getHalfedge(), wblut.hemesh.HE_Halfedge.getNextInFace(), wblut.hemesh.HE_Halfedge.getPair(), and wblut.hemesh.HE_Selection.heItr().

HE_Mesh wblut.hemesh.HE_Selection.subdivide ( final HES_Subdividor  subdividor)

Subdivide the mesh.

Parameters
subdividorHE_Subdividor to apply
Returns
self

References wblut.hemesh.HES_Subdividor.apply(), and wblut.hemesh.HE_Mesh.clearPrecomputed().

HE_Mesh wblut.hemesh.HE_Selection.subdivide ( final HES_Subdividor  subdividor,
final int  rep 
)

Subdivide the mesh a number of times.

Parameters
subdividorHE_Subdividor to apply
repsubdivision iterations. WARNING: higher values will lead to unmanageable number of faces.
Returns
self

References wblut.hemesh.HES_Subdividor.apply(), and wblut.hemesh.HE_Mesh.clearPrecomputed().

void wblut.hemesh.HE_Selection.surround ( )
void wblut.hemesh.HE_Selection.surround ( final int  n)

Select faces surrounding current face selection at a distance of n-1 faces.

Parameters
ndistance to current selection

References wblut.hemesh.HE_Selection.grow(), and wblut.hemesh.HE_Selection.surround().

void wblut.hemesh.HE_Selection.union ( final HE_Selection  sel)
Parameters
sel

References wblut.hemesh.HE_Selection.add().

HE_VertexIterator wblut.hemesh.HE_Selection.vItr ( )

Vertex iterator.

Returns
vertex iterator

Implements wblut.hemesh.HE_HalfedgeStructure.

References wblut.hemesh.HE_Selection.vertices.

Member Data Documentation

HE_RAS<HE_Halfedge> wblut.hemesh.HE_Selection.edges
private
HE_RAS<HE_Face> wblut.hemesh.HE_Selection.faces
private
WB_GeometryFactory wblut.hemesh.HE_Selection.gf = new WB_GeometryFactory()
protected
HE_RAS<HE_Halfedge> wblut.hemesh.HE_Selection.halfedges
private
HE_RAS<HE_Vertex> wblut.hemesh.HE_Selection.vertices
private

The documentation for this class was generated from the following file: