Package Documentation

Object: C-CYLINDER (The :GEOM-BASE Package)
Mixins: CYLINDER

Description

Provides a simple way to create a cylinder, by specifying a start point and an end point.


Input Slots (required)

END 3d point

Center of the end cap.


RADIUS [from CYLINDER] number

Radius of the circular cross section of the cylinder.


START 3d point

Center of the start cap.



Input Slots (optional)

BOTTOM-CAP? [from CYLINDER] boolean

Determines whether to include bottom cap in shaded renderings. Defaults to T.


BOUNDING-BOX [from BASE-OBJECT] list of two 3d points

The left front bottom and right rear top corners, in global coordinates, of the rectangular volume bounding the tree of geometric objects rooted at this object.


CLOSED? [from CYLINDER] boolean

Indicates that a partial cylinder (or cone) should have a closed gap.


END-ANGLE [from ARCOID-MIXIN] angle in radians

End angle of the arc. Defaults to twice pi.


HEIGHT [from BASE-OBJECT] number

Z-axis dimension of the reference box. Defaults to zero.


HIDDEN? [from VANILLA-MIXIN*] boolean

Indicates whether the object should effectively be a hidden-object even if specified in :objects. Default is nil.


IMAGE-FILE [from BASE-OBJECT] pathname or string

Points to a pre-existing image file to be displayed instead of actual geometry for this object. Defaults to nil


INNER-RADIUS [from CYLINDER] number

Radius of the hollow inner portion for a hollow cylinder.


LOCAL-BOX [from BASE-OBJECT] list of two 3d points

The left front bottom and right rear top corners, in global coordinates, of the rectangular volume bounding this geometric object.


NUMBER-OF-SECTIONS [from CYLINDER] integer

Number of vertical sections to be drawn in wireframe rendering mode.


OBLIQUENESS [from BASE-OBJECT] 3x3 orthonormal matrix of double-float numbers

This is synonymous with the orientation.


ONCLICK-FUNCTION [from BASE-OBJECT] lambda function of zero arguments, or nil

If non-nil, this function gets invoked when the user clicks the object in graphics front-ends which support this functionality, e.g. SVG/Raphael and X3DOM.


ROOT [from VANILLA-MIXIN*] gdl instance

The root-level node in this object's ``tree'' (instance hierarchy).


SAFE-CHILDREN [from VANILLA-MIXIN*] list of gdl instances

All objects from the :objects specification, including elements of sequences as flat lists. Any children which throw errors come back as a plist with error information


START-ANGLE [from ARCOID-MIXIN] angle in radians

Start angle of the arc. Defaults to zero.


STRINGS-FOR-DISPLAY [from VANILLA-MIXIN*] string or list of strings

Determines how the name of objects of this type will be printed in most places. This defaults to the name-for-display (generally the part's name as specified in its parent), followed by an index number if the part is an element of a sequence.


TOP-CAP? [from CYLINDER] boolean

Determines whether to include bottom cap in shaded renderings. Defaults to T.


VISIBLE-CHILDREN [from VANILLA-MIXIN*] list of gdl instances

Additional objects to display in Tatu tree. Typically this would be a subset of hidden-children. Defaults to NIL.


WIDTH [from BASE-OBJECT] number

X-axis dimension of the reference box. Defaults to zero.



Input Slots (optional, defaulting)

DISPLAY-CONTROLS [from BASE-OBJECT] plist

May contain keywords and values indicating display characteristics for this object. The following keywords are recognized currently:

:color
color keyword from the *color-table* parameter, or an HTML-style hexidecimal RGB string value, e.g. "#FFFFFF" for pure white. Defaults to :black.
:line-thickness
an integer, defaulting to 1, indicating relative line thickness for wireframe representations of this object.
:dash-pattern
(currently PDF/PNG/JPEG only). This is a list of two or three numbers which indicate the length, in pixels, of the dashes and blank spaces in a dashed line. The optional third number indicates how far into the line or curve to start the dash pattern.



Computed Slots

CENTER 3d point

Center point of the center-line.


CENTER-LINE list of two 3d points

Represents line segment connecting center of end cap to center of start cap.


LENGTH number

Distance between cap centers.


ORIENTATION 3x3 orthonormal rotation matrix

Resultant orientation given the specified start and end points.


Examples


 (in-package :gdl-user)

 (define-object c-cylinder-sample (c-cylinder)
   :computed-slots
   ((display-controls (list :color :plum :transparency 0.2))
    (start (make-point 0 0 0))
    (end (make-point 0 0 10))
    (number-of-sections 7)
    (radius 3)))

   (generate-sample-drawing :objects (make-object 'c-cylinder-sample)
                            :projection-direction (getf *standard-views* :trimetric))
   

Package Documentation