The following methods provide basic access to the mesh edges.
Methods:
getEdgeVis <mesh> <face_index_integer> <edge_index_integer>
Returns the edge visibility for given edge (1,2,3) on indexed face as a boolean.
setEdgeVis <mesh> <face_index_integer> <edge_index_integer> <boolean>
Sets the edge visibility for given edge (1,2,3) on indexed face.
getEdgeSelection <node> [<modifier_or_index>] [name:<name> ]
getEdgeSelection <mesh>
Retrieves the edge selection set, or the specified named selection set if the optional name:
parameter is specified, as a BitArray. See the getVertSelection()
method for more information.
setEdgeSelection <node> [<modifier_or_index>] ( <sel_bitarray> | <sel_array> ) [name:<name> ] [keep:<boolean> ]
setEdgeSelection <mesh> ( <sel_bitarray> | <sel_array> ) [keep:<boolean> ]
Sets the edge selections in an Editable Mesh base object, Mesh Select modifier, Edit Mesh Modifier, Poly Select Modifier, or TriMesh. This mirrors the selection getting method above. See the setVertSelection()
method for more information.
deselectHiddenEdges <mesh>
Deselects the hidden edges in the mesh. This method is not applicable to TriMeshes.
EXAMPLE:
obj = convertToMesh (Sphere()) -- Create a Sphere, turn to EMesh obj.allEdges = true -- Show all edges select obj -- Select the mesh max modify mode -- Switch to Modify panel subObjectLevel = 2 -- Set Sub-Object level to Edge edgeSelSet=#() -- Init. an Array for face = 1 to obj.numfaces do -- Go through all faces for edge = 1 to 3 do -- And for every of the 3 edges if (getedgevis obj face edge) do -- If the visibility is true, append edgeSelSet (((face-1)*3)+edge) --collect the edge setedgeselection obj edgeSelSet -- Select all visible edges
The following function returns the indices of the 2 vertices that define an edge as a Point2 value. The two arguments to the function are an editable mesh node or TriMesh value and the edge index. A value of undefined
is returned if the first argument isn't an editable mesh node or TriMesh value, or if the edge index is out of range.
FUNCTION
fn edgeVerts theObj theEdge = ( if not (classof theObj == Editable_mesh or classof theObj == triMesh) do return undefined if theEdge < 1 or theEdge >(theObj.numfaces*3) do return undefined local theFace = ((theEdge-1)/3)+1 local theVerts = getFace theObj theFace case ((mod (theEdge-1)3) as integer) of ( 0: point2 theVerts.x theVerts.y 1: point2 theVerts.y theVerts.z 2: point2 theVerts.z theVerts.x ) )
For more mesh-related methods, see