<<<<<<<<<<<<<<<<<

feature_edges(display) Filter feature_edges(display)

NAME

feature_edges - generate boundary or sharp edges from display data

DESCRIPTION

Feature_edges takes as input a display_data object (or filter) and on output generates lines. The lines are created along the boundaries of polygon or triangle strip meshes, or along sharp angles (i.e., features edges) between polygons or feature edges. (Lines in the input display_data are also passed to the output).

It is possible to turn on/off the generation of lines along feature edges or boundaries. The feature angle may also be specified.

(NOTE: Boundary edges are edges used by only one polygon/triangle strip, or are non-manifold edges (edges used by three or more polygons/triangle strips).

SUPERCLASS

adjacency_filter

INSTANCE VARIABLES

feature_angle angle in degrees corresponding to dihedral angle between adjacent polygons. The feature_angle defines whether an edge exists between polygons.

boundary_edges boolean to control boundary edges are generated. By default boundary edge generation is on.

feature_edges boolean to control whether feature edges are generated. By default feature edge generation is on.

MESSAGES

feature_angle= value set the value (in degrees) of the feature edge angle.

feature_angle+ value add to the value (in degrees) of the feature edge angle.

feature_angle? set the value (in degrees) of the feature edge angle.

boundary_edges_on!/off! turn on/off boundary edge generation.

boundary_edges? get the value of the boundary_edges instance variable.

boundary_edges= value set the value of the boundary_edges instance variable.

feature_edges_on!/off! turn on/off feature edge generation.

feature_edges? get the value of the feature_edges instance variable.

feature_edges= value set the value of the feature_edges instance variable.

EXAMPLE

display_data new: dd points=( 0,0,0, 1,0,1, 2,0,1, 3,0,0, 3,1,0, 2,1,1, 1,1,1, 0,1,0, ) polygons=( 4, 1,2,7,8, 4, 2,3,6,7, 4, 3,4,5,6, ) ; feature_edges new: fedges data_in= dd feature_angle= 30 ; display_lines new: draw_edges data_in= fedges ; actor new: a modeller= draw_edges ; renderer new: aren actors=[actor instances?] render! ;

SEE ALSO

adjacency_filter, feature_normals, triangle_strip_filter, decimate, display_filter, display_data


Please send comments and suggestions to
consult@rpi.edu