HE_Mesh  5.0.0
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 setHardEdgeChamfer (final double 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)
 
HE_Mesh apply (final HE_Mesh mesh)
 
HE_Mesh apply (final HE_Selection selection)
 
- Public Member Functions inherited from wblut.hemesh.HEM_Modifier
 HEM_Modifier ()
 
abstract HE_Mesh apply (final HE_Mesh mesh)
 
abstract 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)
 

Static Public Member Functions

static void main (final String[] args)
 

Public Attributes

HE_Selection walls
 
HE_Selection extruded
 

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)
 

Private Attributes

WB_ScalarParameter d
 
double thresholdAngle
 
double chamfer
 
double hardEdgeChamfer
 
boolean relative
 
boolean fuse
 
boolean peak
 
double fuseAngle
 
double sin2FA
 
Map< Long, WB_Coord_faceNormals
 
Map< Long, WB_Coord_halfedgeNormals
 
TLongDoubleMap _halfedgeEWs
 
Map< Long, WB_Coord_faceCenters
 
double[] heights
 
List< HE_FacefailedFaces
 
List< Double > failedHeights
 
boolean flat
 

Static Private Attributes

static WB_GeometryFactory gf = new WB_GeometryFactory()
 

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

HE_Mesh wblut.hemesh.HEM_Extrude.apply ( final HE_Mesh  mesh)
HE_Mesh wblut.hemesh.HEM_Extrude.apply ( final HE_Selection  selection)
HE_Mesh wblut.hemesh.HEM_Extrude.applyFlat ( final HE_Mesh  mesh,
final List< HE_Face faces,
final boolean  fuse 
)
private

Apply flat extrusion.

Parameters
meshthe mesh
facesthe faces
fusethe fuse
Returns
mesh
boolean wblut.hemesh.HEM_Extrude.applyFlatToOneFace ( final int  id,
final List< HE_Face selFaces,
final HE_Mesh  mesh 
)
private

Apply flat extrusion to one face.

Parameters
idthe id
selFacesthe sel faces
meshthe mesh
Returns
true, if successful
HE_Mesh wblut.hemesh.HEM_Extrude.applyPeaked ( final HE_Mesh  mesh,
final List< HE_Face faces 
)
private

Apply peaked extrusion.

Parameters
meshthe mesh
facesthe faces
Returns
mesh
void wblut.hemesh.HEM_Extrude.applyPeakToOneFace ( final int  id,
final List< HE_Face selFaces,
final HE_Mesh  mesh,
final double  d 
)
private

Apply peaked extrusion to one face.

Parameters
idthe id
selFacesthe sel faces
meshthe mesh
d
HE_Mesh wblut.hemesh.HEM_Extrude.applyStraight ( final HE_Mesh  mesh,
final List< HE_Face faces 
)
private

Apply straight extrusion.

Parameters
meshthe mesh
facesthe faces
Returns
mesh
boolean wblut.hemesh.HEM_Extrude.applyStraightToOneFace ( final int  id,
final List< HE_Face selfaces,
final HE_Mesh  mesh,
final boolean[]  visited,
final double  d 
)
private

Apply straight extrusion to one face.

Parameters
idthe id
selfacesthe selfaces
meshthe mesh
visitedthe visited
d
Returns
true, if successful
boolean wblut.hemesh.HEM_Extrude.applyStraightToOneFaceIgnoreNeighborhood ( final int  id,
final List< HE_Face selfaces,
final HE_Mesh  mesh,
final boolean[]  visited,
final double  d 
)
private
Parameters
id
selfaces
mesh
visited
d
Returns
static void wblut.hemesh.HEM_Extrude.main ( final String[]  args)
static
HEM_Extrude wblut.hemesh.HEM_Extrude.setChamfer ( final double  c)

Set chamfer factor.

Parameters
cchamfer factor
Returns
self
HEM_Extrude wblut.hemesh.HEM_Extrude.setDistance ( final double  d)

Set extrusion distance.

Parameters
dextrusion distance
Returns
self
HEM_Extrude wblut.hemesh.HEM_Extrude.setDistance ( final WB_ScalarParameter  d)

Sets the distance.

Parameters
dthe d
Returns
the hE m_ extrude
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

Set extrusion distance for hard edge.

Parameters
cextrusion distance
Returns
self
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
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.

TLongDoubleMap wblut.hemesh.HEM_Extrude._halfedgeEWs
private

Extrusion widths.

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

Halfedge normals.

double 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

The extruded.

List<HE_Face> wblut.hemesh.HEM_Extrude.failedFaces
private

The failed faces.

List<Double> wblut.hemesh.HEM_Extrude.failedHeights
private
boolean wblut.hemesh.HEM_Extrude.flat
private

The flat.

boolean wblut.hemesh.HEM_Extrude.fuse
private

Fuse coplanar faces.

double wblut.hemesh.HEM_Extrude.fuseAngle
private

Limit angle for face fusion.

WB_GeometryFactory wblut.hemesh.HEM_Extrude.gf = new WB_GeometryFactory()
staticprivate
double 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?.

boolean wblut.hemesh.HEM_Extrude.relative
private

Extrusion mode.

double wblut.hemesh.HEM_Extrude.sin2FA
private

sin(fuseAngle).

double wblut.hemesh.HEM_Extrude.thresholdAngle
private

Threshold angle for hard edges.

HE_Selection wblut.hemesh.HEM_Extrude.walls

The walls.


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