Generate_Edges

Functions

HC_KEY Generate_Edges (HC_KEY shell_or_mesh_key, const char *options)
 Generates a set of shell/mesh edges and inserts them into the HOOPS segment tree. More...
 

Detailed Description

Function Documentation

◆ Generate_Edges()

HC_KEY Generate_Edges ( HC_KEY  shell_or_mesh_key,
const char *  options 
)

Generates a set of shell/mesh edges and inserts them into the HOOPS segment tree.

Parameters
shell_or_mesh_key- They key of the shell/mesh for which to generate a set of specified edge types.
options- A quoted string or a string variable containing a list of desired options. Passed by reference always.
Returns
The return key will be a polyline key if a single polyline can represent the computed edges. The return key will be an anonymous subsegment containing multiple polylines, if necessary, to represent the computed edges. (Use Show_Key_Type() to determine what type of key was returned.)

DETAILS

The HOOPS routine Generate_Edges() accepts a shell/mesh key and a set of options to control what edge types should be generated, and inserts the generated polyline or lines/segment into the currently open segment. This could be useful if you need to export the shell/mesh concept of "edges" to another data format that does not have matching shell/mesh "edge" concepts. Another example is if you need to perform separate processing on the generated edges, perhaps to further analyze topology, etc...

This routine assumes that you are already familiar with the HOOPS shell/mesh primitive, the various local attributes that are supported within a shell/mesh, and the meaning of the various "special edge types" described in Set_Visibility().

The following choices are recognized for options:
[no] perimeter, [no] hard, [no] adjacent,[no] quad

Each of these specifies an edge type, and 1 or more must be specified. Refer to the documentation for Set_Visibility() "special edge option" documentation for details on how each edge-type is classified.

The "quad" option only applies to meshes.

dihedral angle=<float> (0-180.0) This is used to determine how "hard" edges are calculated. The default is 135.0

visibility = [face=on|off], [edges=on|off] This sets the assumed state of the shell/mesh face/edge visibilities, used for determining what edges will get generated. The default is "visibility = on", which is equivalent to "faces=on, edges=on".

[no] ignore local visibility = [face], [edges] This allows you to control whether the routine should ignore local face/edge visibilities. Recall that shells/meshes can not only have inherited edge/face visibilities or visibilities set at the "top level" of the shell/mesh, but can also have local visibilities for each specific face/edge.) The default is "no ignore local visibility"

NOTES

The "visibility" and "ignore local visibility" options currently ignore the face settings.

See also
Insert_Shell, Insert_Mesh, Set_Visibility.