<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//en">

<!–Converted with LaTeX2HTML 2022 (Released January 1, 2022) –> <HTML lang="en"> <HEAD> <TITLE>Contents of CSG in </TITLE>

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META NAME="viewport" CONTENT="width=device-width, initial-scale=1.0"> <META NAME="Generator" CONTENT="LaTeX2HTML v2022">

<LINK REL="STYLESHEET" HREF="objects.css">

<LINK REL="next" HREF="node7_mn.html"> <LINK REL="previous" HREF="node5_mn.html"> <LINK REL="up" HREF="node5_mn.html"> <LINK REL="next" HREF="node7_mn.html"> </HEAD>

<BODY bgcolor="#ffffff" text="#000000" link="#9944EE" vlink="#0000ff" alink="#00ff00">

<H2><A ID="SECTION00141000000000000000"> CSG in </A> </H2>

<P> CSG in will generally operate properly when applied to conjunction with on boxes, spheres, tori, and blobs. These primitives are by nature consistent, as they all enclose a portion of space (no hole from the ``inside'' to the ``outside''), have surface normals which point outward (they are not ``inside-out''), and do not have any extraneous surfaces.

<P> CSG objects may also be constructed from aggregate objects. These aggregates contain whatever is listed inside, and may therefore be inconsistent. For example, an object which contains a single triangle will not produce correct results in CSG models, because the triangle does not enclose space. However, a collection of four triangles which form a pyramid does enclose space, and if the triangle normals are oriented correctly, the CSG operators should work correctly on the pyramid.

<P> CSG objects are specified by surrounding the objects upon which to operate, as well as any associated surface-binding commands, by the operator verb on one side and the <TT>end</TT> keyword on the other:

<P> <BR> <IMG STYLE="height: 2.17ex; vertical-align: 176.41ex; " SRC="img17.png" ALT="
\begin{defkey}{union}{$\ensuremath{<}${\em Object}$\ensuremath{>}$\ $\ensuremath...
.....}
Specify a new object defined as the union of the
given objects.
\end{defkey}
"> <BR>

<P> <BR> <IMG STYLE="height: 2.38ex; vertical-align: 176.27ex; " SRC="img18.png" ALT="
\begin{defkey}{difference}{$\ensuremath{<}${\em Object}$\ensuremath{>}$\ $\ensur...
....ecify a new object defined as the difference of the
given objects.
\end{defkey}
"> <BR>

<P> <BR> <IMG STYLE="height: 2.38ex; vertical-align: 176.27ex; " SRC="img19.png" ALT="
\begin{defkey}{intersect}{$\ensuremath{<}${\em Object}$\ensuremath{>}$\ $\ensure...
....ify a new object defined as the intersection of the
given objects.
\end{defkey}
"> <BR>

<P> Note that the current implementation does not support more that two objects in a CSG list (but it is planned for a future version).

<P>

<HR>

</BODY> </HTML>