Action:
|
Tests a tolerant edge for local and remote self-intersections. (Amalgamates a number of more basic tests).
|
|
Filename:
|
intr/intr_scm/tmchk_scm.cxx
|
|
Syntax:
|
(tm-check:tedge-self-int edge)
|
|
Arg Types:
|
edge
|
tedge
|
|
Returns:
|
(tm-chk-info ...)
|
|
Errors:
|
Argument is not a
TEDGE.
|
|
Description:
|
Tests whether this
TEDGE has any local or remote self-intersections. This tests uses the edge tolerance, so the checks
tm-check:tedge and then
tm-check:tcoedge and
tm-check:tedge-tcoedge (for each coedge of the edge) should already have been passed. This test then performs in order:
tm-check:tedge-local-self-int,
tm-check:tedge-remote-self-int. A list of any
tm-chk-info error objects that are generated is returned (or an empty list if all is fine).
|
|
|
edge is an argument of type
TEDGE for which the local and remote self-intersections are tested.
|
|
Example:
|
; tm-check:tedge-self-int
|
|
; Check for edge self-intersection.
|
|
(define b (solid:block (position 0 0 0)
|
|
|
(position 10 10 10)))
|
|
;; b
|
|
(define e (car (tolerant:fix (car
|
|
|
(entity:edges b)))))
|
|
;; e
|
|
(tm-check:tedge-self-int e)
|
|
;; ()
|
|
; edge geometry does not self-intersect
|