Printable Version

CSG Nodes

The CSG nodes require sets of closed shells for their input. For the union and intersection nodes this is some what flexible. It is just necessary that all the instanced geometry forms a set of closed shells. The difference node has more restrictions. The positive node, i.e. the first node, must be a CSG node followed by any set of instanced geometry that forms a set of closed shells.


union

A union statement denotes a CSG boolean union operation. This statements does not currently perform the boolean operation. Instead, this node is really just a group node with a tag that says that it is a boolean union.

SLIDE Definition tclinit Definition
union id
  surface surface_id
shading shading_flag
lod lod_flag
ribbegin "rib_string"
ribend "rib_string"
instance_statement
instance_statement
...
endunion
slide create union id \
  -surface surface_id \
-shading shading_flag \
-lod lod_flag \
-ribbegin "rib_string" \
-ribend "rib_string" \

SLIDE Defaults tclinit Defaults
unionid
  surface SLF_INHERIT
shading SLF_INHERIT
lod SLF_FULL
ribbegin SLF_NULL
ribend SLF_NULL
endunion
slide create union id \
  -surface $SLF_INHERIT \
-shading $SLF_INHERIT \
-lod $SLF_FULL \
-ribbegin $SLF_NULL \
-ribend $SLF_NULL

Example: Not Available


difference

A difference statement denotes a CSG boolean difference operation. This statements does not currently perform the boolean operation. Instead, this node is really just a group node with a tag that says that it is a boolean difference. The boolean operation is instance #1 - instance #2 - instance #3 - ... - instance #N. The first instance must be a CSG node. The other instances can any be set of geometry that forms a set of closed shells.

SLIDE Definition tclinit Definition
difference id
  surface surface_id
shading shading_flag
lod lod_flag
ribbegin "rib_string"
ribend "rib_string"
instance_statement
instance_statement
...
enddifference
slide create difference id \
  -surface surface_id \
-shading shading_flag \
-lod lod_flag \
-ribbegin "rib_string" \
-ribend "rib_string" \

SLIDE Defaults tclinit Defaults
difference id
  surface SLF_INHERIT
shading SLF_INHERIT
lod SLF_FULL
ribbegin SLF_NULL
ribend SLF_NULL
enddifference
slide create difference id \
  -surface $SLF_INHERIT \
-shading $SLF_INHERIT \
-lod $SLF_FULL \
-ribbegin $SLF_NULL \
-ribend $SLF_NULL

Example: Not Available


intersection

A intersection statement denotes a CSG boolean intersection operation. This statements does not currently perform the boolean operation. Instead, this node is really just a group node with a tag that says that it is a boolean intersection.

SLIDE Definition tclinit Definition
intersection id
  surface surface_id
shading shading_flag
lod lod_flag
ribbegin "rib_string"
ribend "rib_string"
instance_statement
instance_statement
...
endintersection
slide create intersection id \
  -surface surface_id \
-shading shading_flag \
-lod lod_flag \
-ribbegin "rib_string" \
-ribend "rib_string" \

SLIDE Defaults tclinit Defaults
intersection id
  surface SLF_INHERIT
shading SLF_INHERIT
lod SLF_FULL
ribbegin SLF_NULL
ribend SLF_NULL
endintersection
slide create intersection id \
  -surface $SLF_INHERIT \
-shading $SLF_INHERIT \
-lod $SLF_FULL \
-ribbegin $SLF_NULL \
-ribend $SLF_NULL

Example: Not Available


[an error occurred while processing this directive]