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

Public Member Functions

 HEM_Extrude ()
 
HEM_Extrude setDistance (final double d)
 
HEM_Extrude setDistance (final WB_ScalarParameter d)
 
HEM_Extrude setChamfer (final double c)
 
HEM_Extrude setChamfer (final WB_ScalarParameter c)
 
HEM_Extrude setHardEdgeChamfer (final double c)
 
HEM_Extrude setHardEdgeChamfer (final WB_ScalarParameter c)
 
HEM_Extrude setRelative (final boolean relative)
 
HEM_Extrude setFuse (final boolean b)
 
HEM_Extrude setPeak (final boolean b)
 
HEM_Extrude setThresholdAngle (final double a)
 
HEM_Extrude setFuseAngle (final double a)
 
HEM_Extrude setDistances (final double[] distances)
 
HEM_Extrude setDistances (final float[] distances)
 
HEM_Extrude setDistances (final int[] distances)
 
- Public Member Functions inherited from wblut.hemesh.HEM_Modifier
 HEM_Modifier ()
 
HE_Mesh apply (final HE_Mesh mesh)
 
HE_Mesh apply (final HE_Selection selection)
 
- Public Member Functions inherited from wblut.hemesh.HE_Machine
abstract HE_Mesh apply (HE_Mesh mesh)
 
abstract HE_Mesh apply (HE_Selection selection)
 
String getName ()
 
void setName (final String name)
 

Protected Member Functions

HE_Mesh applySelf (final HE_Mesh mesh)
 
HE_Mesh applySelf (final HE_Selection selection)
 
- Protected Member Functions inherited from wblut.hemesh.HEM_Modifier
abstract HE_Mesh applySelf (final HE_Mesh mesh)
 
abstract HE_Mesh applySelf (final HE_Selection selection)
 

Private Member Functions

HE_Mesh applyStraight (final HE_Mesh mesh, final List< HE_Face > faces)
 
boolean applyStraightToOneFaceIgnoreNeighborhood (final int id, final List< HE_Face > selfaces, final HE_Mesh mesh, final boolean[] visited, final double d)
 
boolean applyStraightToOneFace (final int id, final List< HE_Face > selfaces, final HE_Mesh mesh, final boolean[] visited, final double d)
 
HE_Mesh applyPeaked (final HE_Mesh mesh, final List< HE_Face > faces)
 
void applyPeakToOneFace (final int id, final List< HE_Face > selFaces, final HE_Mesh mesh, final double d)
 
HE_Mesh applyFlat (final HE_Mesh mesh, final List< HE_Face > faces, final boolean fuse)
 
boolean applyFlatToOneFace (final int id, final List< HE_Face > selFaces, final HE_Mesh mesh, final HE_Selection fuse)
 

Private Attributes

WB_ScalarParameter d
 
double thresholdAngle
 
WB_ScalarParameter chamfer
 
WB_ScalarParameter hardEdgeChamfer
 
boolean relative
 
boolean fuse
 
boolean peak
 
double fuseAngle
 
Map< Long, WB_Coord_faceNormals
 
LongObjectHashMap< WB_Coord_halfedgeNormals
 
LongDoubleHashMap _halfedgeEWs
 
Map< Long, WB_Coord_faceCenters
 
double[] heights
 
HE_Selection walls
 
HE_Selection extruded
 
HE_Selection peaks
 
HE_Selection fused
 
List< HE_FacefailedFaces
 
List< Double > failedHeights
 

Additional Inherited Members

- Static Public Attributes inherited from wblut.hemesh.HE_Machine
static final WB_ProgressTracker tracker = WB_ProgressTracker.instance()
 

Detailed Description

Extrudes and scales a face along its face normal.

Author
Frederik Vanhoutte (W:Blut)

Constructor & Destructor Documentation

wblut.hemesh.HEM_Extrude.HEM_Extrude ( )

Instantiates a new HEM_Extrude.

Member Function Documentation

boolean wblut.hemesh.HEM_Extrude.applyFlatToOneFace ( final int  id,
final List< HE_Face selFaces,
final HE_Mesh  mesh,
final HE_Selection  fuse 
)
private
void wblut.hemesh.HEM_Extrude.applyPeakToOneFace ( final int  id,
final List< HE_Face selFaces,
final HE_Mesh  mesh,
final double  d 
)
private
HEM_Extrude wblut.hemesh.HEM_Extrude.setChamfer ( final double  c)

Set chamfer factor.

Parameters
c
Returns
self

References wblut.math.WB_Epsilon.isZero().

HEM_Extrude wblut.hemesh.HEM_Extrude.setChamfer ( final WB_ScalarParameter  c)
HEM_Extrude wblut.hemesh.HEM_Extrude.setDistance ( final double  d)

Set extrusion distance.

Parameters
dextrusion distance
Returns
self

References wblut.math.WB_Epsilon.isZero(), and wblut.math.WB_ScalarParameter.ZERO.

HEM_Extrude wblut.hemesh.HEM_Extrude.setDistance ( final WB_ScalarParameter  d)

Sets the distance.

Parameters
d
Returns
self

References wblut.hemesh.HEM_Extrude.d.

HEM_Extrude wblut.hemesh.HEM_Extrude.setDistances ( final double[]  distances)
Parameters
distances
Returns
HEM_Extrude wblut.hemesh.HEM_Extrude.setDistances ( final float[]  distances)
Parameters
distances
Returns
HEM_Extrude wblut.hemesh.HEM_Extrude.setDistances ( final int[]  distances)
Parameters
distances
Returns
HEM_Extrude wblut.hemesh.HEM_Extrude.setFuse ( final boolean  b)

Set fuse option: merges coplanar faces.

Parameters
btrue, false
Returns
self
HEM_Extrude wblut.hemesh.HEM_Extrude.setFuseAngle ( final double  a)

Set threshold angle for fuse.

Parameters
athreshold angle
Returns
self
HEM_Extrude wblut.hemesh.HEM_Extrude.setHardEdgeChamfer ( final double  c)

Set hard edge chamfer distance

Parameters
c
Returns
self
HEM_Extrude wblut.hemesh.HEM_Extrude.setHardEdgeChamfer ( final WB_ScalarParameter  c)
HEM_Extrude wblut.hemesh.HEM_Extrude.setPeak ( final boolean  b)

Set peak option.

Parameters
btrue, false
Returns
self
HEM_Extrude wblut.hemesh.HEM_Extrude.setRelative ( final boolean  relative)

Set chamfer mode.

Parameters
relativetrue/false
Returns
self

References wblut.hemesh.HEM_Extrude.relative.

HEM_Extrude wblut.hemesh.HEM_Extrude.setThresholdAngle ( final double  a)

Set threshold angle for hard edge.

Parameters
athreshold angle
Returns
self

Member Data Documentation

Map<Long, WB_Coord> wblut.hemesh.HEM_Extrude._faceCenters
private

Face centers.

Map<Long, WB_Coord> wblut.hemesh.HEM_Extrude._faceNormals
private

Vertex normals.

LongDoubleHashMap wblut.hemesh.HEM_Extrude._halfedgeEWs
private

Extrusion widths.

LongObjectHashMap<WB_Coord> wblut.hemesh.HEM_Extrude._halfedgeNormals
private

Halfedge normals.

WB_ScalarParameter wblut.hemesh.HEM_Extrude.chamfer
private

Chamfer factor or distance.

WB_ScalarParameter wblut.hemesh.HEM_Extrude.d
private

Extrusion distance.

HE_Selection wblut.hemesh.HEM_Extrude.extruded
private
List<HE_Face> wblut.hemesh.HEM_Extrude.failedFaces
private
List<Double> wblut.hemesh.HEM_Extrude.failedHeights
private
boolean wblut.hemesh.HEM_Extrude.fuse
private

Fuse coplanar faces.

double wblut.hemesh.HEM_Extrude.fuseAngle
private

Limit angle for face fusion.

HE_Selection wblut.hemesh.HEM_Extrude.fused
private
WB_ScalarParameter wblut.hemesh.HEM_Extrude.hardEdgeChamfer
private

Hard edge chamfer distance.

double [] wblut.hemesh.HEM_Extrude.heights
private
boolean wblut.hemesh.HEM_Extrude.peak
private

Turn non-extrudable faces into spiked faces?.

HE_Selection wblut.hemesh.HEM_Extrude.peaks
private
boolean wblut.hemesh.HEM_Extrude.relative
private

Extrusion mode.

double wblut.hemesh.HEM_Extrude.thresholdAngle
private

Threshold angle for hard edges.

HE_Selection wblut.hemesh.HEM_Extrude.walls
private

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