Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gendl
gendl
Commits
f6a39309
Commit
f6a39309
authored
Jan 11, 2012
by
Dave Cooper
Browse files
working on assembly import
parent
9089981f
Changes
109
Expand all
Hide whitespace changes
Inline
Side-by-side
build/source/app.lisp
View file @
f6a39309
...
...
@@ -47,12 +47,11 @@ temporary directory, returned by <tt>(glisp:temporary-folder)</tt>."
(
overwrite?
t
)
(
load-core-gdl-form
`
(
progn
(
load
,
(
merge-pathnames
"../
../common/
build"
(
load-core-gdl-form
`
(
progn
(
load
,
(
merge-pathnames
"../build"
glisp:*genworks-source-home*
))
(
setf
(
symbol-value
(
read-from-string
"glisp:*genworks-source-home*"
))
nil
)
(
setf
(
symbol-value
(
read-from-string
"asdf:*central-registry*"
))
nil
)))
(
setf
(
symbol-value
(
read-from-string
"asdf:*central-registry*"
))
nil
)))
(
pre-load-form
(
the
load-core-gdl-form
))
...
...
@@ -101,7 +100,8 @@ temporary directory, returned by <tt>(glisp:temporary-folder)</tt>."
(
defun
gdl
()
(
let
((
destination-directory
(
let
((
implementation-identifier
(
glisp:implementation-identifier
))
(
prefix
(
merge-pathnames
"../../staging/"
glisp:*genworks-source-home*
)))
;;(prefix (merge-pathnames "../../staging/" glisp:*genworks-source-home*))
(
prefix
(
merge-pathnames
#+
mswindows
"e:/staging/"
#-
mswindows
"~/share/staging/"
)))
(
merge-pathnames
(
make-pathname
:directory
(
list
:relative
...
...
@@ -110,6 +110,7 @@ temporary directory, returned by <tt>(glisp:temporary-folder)</tt>."
(
app
:application-name
"gdl"
:application-class
:development
:destination-directory
destination-directory
:modules
(
list
:agraph
:ide
)
:restart-init-function
'
(
lambda
()
(
setq
glisp:*gdl-home*
(
glisp:current-directory
))
(
setq
glisp:*genworks-source-home*
(
merge-pathnames
"src/"
glisp:*gdl-home*
))
...
...
@@ -128,8 +129,10 @@ temporary directory, returned by <tt>(glisp:temporary-folder)</tt>."
(
require
:ftp
)
(
load
(
merge-pathnames
"demos/gdl-demos.asd"
glisp:*genworks-source-home*
))
(
asdf:load-system
:gdl-demos
)
(
load
(
merge-pathnames
"../downloads/gdl-downloads.asd"
))
(
asdf:load-system
:gdl-downloads
))
(
load
(
merge-pathnames
"../downloads/gdl-downloads.asd"
glisp:*genworks-source-home*
))
(
asdf:load-system
:gdl-downloads
)
(
setf
(
symbol-value
(
read-from-string
"glisp:*genworks-source-home*"
))
nil
))
:destination-directory
(
merge-pathnames
"../../staging/site/"
glisp:*genworks-source-home*
)
:overwrite?
t
...
...
build/source/distro.lisp
View file @
f6a39309
...
...
@@ -26,9 +26,9 @@
:input-slots
((
overwrite?
nil
)
(
staging-directory
(
merge-pathnames
"../../staging/"
glisp:*genworks-source-home*
)
)
(
staging-directory
#+
mswindows
"e:/staging/"
#-
mswindows
"~/share/staging/"
)
(
release-directory
(
merge-pathnames
"../../release/"
glisp:*genworks-source-home*
)
)
(
release-directory
#+
mswindows
"e:/release/"
#-
mswindows
"~/share/staging/"
)
(
release-name-mapping
'
((
"acl-8.2m-linux-x86"
.
"gdl1581-linux"
)
(
"acl-8.2m-win-x86"
.
"gdl1581-windows"
)))
...
...
@@ -129,12 +129,12 @@
;;
(
ensure-directories-exist
(
merge-pathnames
"SMLib8.
18
/"
(
the
target-parent
)))
(
ensure-directories-exist
(
merge-pathnames
"SMLib8.
40
/"
(
the
target-parent
)))
(
let
((
smlib-name
(
if
(
find-package
:smlib
)
(
funcall
(
read-from-string
"glisp:smlib-name"
))
(
error
"smlib-name not known (smlib module probably not loaded)."
))))
(
glisp:copy-file
(
merge-pathnames
(
format
nil
"../../common/SMLib8.
18
/~a"
smlib-name
)
(
glisp:copy-file
(
merge-pathnames
(
format
nil
"../../common/SMLib8.
40
/~a"
smlib-name
)
glisp:*genworks-source-home*
)
(
merge-pathnames
(
format
nil
"SMLib8.
18
/~a"
smlib-name
)
(
merge-pathnames
(
format
nil
"SMLib8.
40
/~a"
smlib-name
)
(
the
target-parent
))))
;;
...
...
build/source/genworks.lisp
View file @
f6a39309
...
...
@@ -81,7 +81,7 @@
#+
allegro
(
let
((
app-name
(
getf
args
:application-name
))
(
target
(
getf
args
:destination-directory
))
(
modules
(
append
(
list
:asdf
:compftype
:aserve
:phtml
)
(
modules
(
append
(
list
:asdf
:compftype
:aserve
:phtml
#+
mswindows
:winapi
)
(
getf
args
:modules
)))
(
args
(
normalize-generate-application-args
args
)))
(
apply
#'
excl:generate-application
app-name
target
modules
args
))
...
...
documentation/gdl-documentation.pdf
View file @
f6a39309
No preview for this file type
documentation/unified-doc/gdl-documentation.log
View file @
f6a39309
This diff is collapsed.
Click to expand it.
documentation/unified-doc/yadd/geom-base/angular-dimension.texi
View file @
f6a39309
...
...
@@ -98,36 +98,36 @@ Defaults to nil.
@noindent @b{Examples}
@smallexample
@cartouche
(in-package :gdl-user)
(define-object angular-dimension-test (base-object)
:objects
((arc :type 'arc
:display-controls (list :color :green )
:radius 30
:end-angle (degrees-to-radians 90))
(dimension :type 'angular-dimension
:display-controls (list :color :blue )
:leader-radius (+ (* 0.1 (the arc radius))(the arc radius))
:arc-object (the arc))
(explicit-dimension :type 'angular-dimension
:center-point (the arc center)
:start-point (the arc (point-on-arc (degrees-to-radians 10)))
:end-point (the arc (point-on-arc (degrees-to-radians 60))))))
(generate-sample-drawing
:objects (list
(the-object (make-object 'angular-dimension-test) arc)
(the-object (make-object 'angular-dimension-test) dimension)
(the-object (make-object 'angular-dimension-test) explicit-dimension))
:projection-direction (getf *standard-views* :top))
@cartouche
(in-package :gdl-user)
(define-object angular-dimension-test (base-object)
:objects
((arc :type 'arc
:display-controls (list :color :green )
:radius 30
:end-angle (degrees-to-radians 90))
(dimension :type 'angular-dimension
:display-controls (list :color :blue )
:leader-radius (+ (* 0.1 (the arc radius))(the arc radius))
:arc-object (the arc))
(explicit-dimension :type 'angular-dimension
:center-point (the arc center)
:start-point (the arc (point-on-arc (degrees-to-radians 10)))
:end-point (the arc (point-on-arc (degrees-to-radians 60))))))
(generate-sample-drawing
:objects (list
(the-object (make-object 'angular-dimension-test) arc)
(the-object (make-object 'angular-dimension-test) dimension)
(the-object (make-object 'angular-dimension-test) explicit-dimension))
:projection-direction (getf *standard-views* :top))
@end cartouche
@end smallexample
@center @image{/home/dcooper8/gdl-build/
teodor-gelu
/genworks-gdl/documentation/unified-doc/yadd/geom-base/image/angular-dimension,,4.2in}
@center @image{/home/dcooper8/gdl-build/
dcooper8
/genworks-gdl/documentation/unified-doc/yadd/geom-base/image/angular-dimension,,4.2in}
documentation/unified-doc/yadd/geom-base/arc.texi
View file @
f6a39309
...
...
@@ -2,8 +2,8 @@
@b{Description}
A segment of a circle.
The start point is at the 3 o'clock position, and positive
A segment of a circle.
The start point is at the 3 o'clock position, and positive
angles are measured anti-clockwise.
@noindent @b{Required-input-slots}
...
...
@@ -109,17 +109,17 @@ the start and end point of the arc.
@noindent @b{Examples}
@smallexample
@cartouche
(in-package :gdl-user)
(define-object arc-sample (arc)
:computed-slots ((radius 30) (end-angle (half pi/2))))
(generate-sample-drawing :objects (make-object 'arc-sample))
@cartouche
(in-package :gdl-user)
(define-object arc-sample (arc)
:computed-slots ((radius 30) (end-angle (half pi/2))))
(generate-sample-drawing :objects (make-object 'arc-sample))
@end cartouche
@end smallexample
@center @image{/home/dcooper8/gdl-build/
teodor-gelu
/genworks-gdl/documentation/unified-doc/yadd/geom-base/image/arc,,4.2in}
@center @image{/home/dcooper8/gdl-build/
dcooper8
/genworks-gdl/documentation/unified-doc/yadd/geom-base/image/arc,,4.2in}
documentation/unified-doc/yadd/geom-base/base-drawing.texi
View file @
f6a39309
...
...
@@ -2,15 +2,15 @@
@b{Description}
Generic container object for displaying one or more scaled
transformed views of geometric or text-based entities. The contained views are generally
of type @i{base-view}. In a GWL application-mixin, you can include one
object of this type in the ui-display-list-leaves.
For the PDF output-format, you can also use the cad-output output-function to write the
drawing as a PDF document.
Since base-drawing is inherently a 2D object, only the top view (getf *standard-views* :top)
Generic container object for displaying one or more scaled
transformed views of geometric or text-based entities. The contained views are generally
of type @i{base-view}. In a GWL application-mixin, you can include one
object of this type in the ui-display-list-leaves.
For the PDF output-format, you can also use the cad-output output-function to write the
drawing as a PDF document.
Since base-drawing is inherently a 2D object, only the top view (getf *standard-views* :top)
makes sense for viewing it.
@noindent @b{Optional-input-slots}
...
...
@@ -63,23 +63,23 @@ The default is (* 8.5 72) points, or 8.5 inches, corresponding to US standard le
@noindent @b{Examples}
@smallexample
@cartouche
(in-package :gdl-user)
(define-object base-drawing-sample (base-drawing)
:objects
((main-view :type 'base-view
:projection-vector (getf *standard-views* :trimetric)
:object-roots (list (the surf)))
(surf :type 'surf::test-b-spline-surface
:hidden? t)))
(generate-sample-drawing :objects (make-object 'base-drawing-sample))
@cartouche
(in-package :gdl-user)
(define-object base-drawing-sample (base-drawing)
:objects
((main-view :type 'base-view
:projection-vector (getf *standard-views* :trimetric)
:object-roots (list (the surf)))
(surf :type 'surf::test-b-spline-surface
:hidden? t)))
(generate-sample-drawing :objects (make-object 'base-drawing-sample))
@end cartouche
@end smallexample
@center @image{/home/dcooper8/gdl-build/
teodor-gelu
/genworks-gdl/documentation/unified-doc/yadd/geom-base/image/base-drawing,,4.2in}
@center @image{/home/dcooper8/gdl-build/
dcooper8
/genworks-gdl/documentation/unified-doc/yadd/geom-base/image/base-drawing,,4.2in}
documentation/unified-doc/yadd/geom-base/base-object.texi
View file @
f6a39309
...
...
@@ -2,8 +2,8 @@
@b{Description}
Base-Object is a superclass of most of GDL's geometric primitives. It
provides an imaginary geometric reference box with a length, width, height, center,
Base-Object is a superclass of most of GDL's geometric primitives. It
provides an imaginary geometric reference box with a length, width, height, center,
and orientation.
@noindent @b{Optional-input-slots}
...
...
@@ -300,64 +300,64 @@ based on the orientation and center of the object to which the local-to-global m
@noindent @b{Examples}
@smallexample
@cartouche
(in-package :gdl-user)
(define-object tower (base-object)
:input-slots
((number-of-blocks 50) (twist-per-block 1)
(block-height 1) (block-width 5) (block-length 7))
:objects
((blocks :type 'box
:sequence (:size (the number-of-blocks))
:center (translate (the center)
:up (* (the-child index)
(the-child height)))
:width (the block-width)
:height (the block-height)
:length (the block-length)
:orientation (alignment
:rear (if (the-child first?)
(rotate-vector-d (the (face-normal-vector :rear))
(the twist-per-block)
(the (face-normal-vector :top)))
(rotate-vector-d (the-child previous
(face-normal-vector :rear))
(the twist-per-block)
(the (face-normal-vector :top))))
:top (the (face-normal-vector :top))))))
;;
;;Test run
;;
#|
gdl-user(46): (setq self (make-object 'tower))
#<tower (at) #x750666f2>
gdl-user(47): (setq test-center (the (blocks 10) center))
#(0.0 0.0 10.0)
gdl-user(48): (the (blocks 10) (global-to-local test-center))
#(0.0 0.0 0.0)
gdl-user(49): (the (blocks 10) (local-to-global (the (blocks 10)
(global-to-local test-center))))
#(0.0 0.0 10.0)
gdl-user(50):
gdl-user(50): (setq test-vertex (the (blocks 10) (vertex :top :right :rear)))
#(1.7862364748012536 3.9127176305081863 10.5)
gdl-user(51): (the (blocks 10) (global-to-local test-vertex))
#(2.500000000000001 3.500000000000001 0.5)
gdl-user(52): (the (blocks 10) (local-to-global (the (blocks 10)
(global-to-local test-vertex))))
#(1.786236474801254 3.9127176305081877 10.5)
gdl-user(53):
|#
;;
;;
;;
@cartouche
(in-package :gdl-user)
(define-object tower (base-object)
:input-slots
((number-of-blocks 50) (twist-per-block 1)
(block-height 1) (block-width 5) (block-length 7))
:objects
((blocks :type 'box
:sequence (:size (the number-of-blocks))
:center (translate (the center)
:up (* (the-child index)
(the-child height)))
:width (the block-width)
:height (the block-height)
:length (the block-length)
:orientation (alignment
:rear (if (the-child first?)
(rotate-vector-d (the (face-normal-vector :rear))
(the twist-per-block)
(the (face-normal-vector :top)))
(rotate-vector-d (the-child previous
(face-normal-vector :rear))
(the twist-per-block)
(the (face-normal-vector :top))))
:top (the (face-normal-vector :top))))))
;;
;;Test run
;;
#|
gdl-user(46): (setq self (make-object 'tower))
#<tower (at) #x750666f2>
gdl-user(47): (setq test-center (the (blocks 10) center))
#(0.0 0.0 10.0)
gdl-user(48): (the (blocks 10) (global-to-local test-center))
#(0.0 0.0 0.0)
gdl-user(49): (the (blocks 10) (local-to-global (the (blocks 10)
(global-to-local test-center))))
#(0.0 0.0 10.0)
gdl-user(50):
gdl-user(50): (setq test-vertex (the (blocks 10) (vertex :top :right :rear)))
#(1.7862364748012536 3.9127176305081863 10.5)
gdl-user(51): (the (blocks 10) (global-to-local test-vertex))
#(2.500000000000001 3.500000000000001 0.5)
gdl-user(52): (the (blocks 10) (local-to-global (the (blocks 10)
(global-to-local test-vertex))))
#(1.786236474801254 3.9127176305081877 10.5)
gdl-user(53):
|#
;;
;;
;;
@end cartouche
@end smallexample
@center @image{/home/dcooper8/gdl-build/
teodor-gelu
/genworks-gdl/documentation/unified-doc/yadd/geom-base/image/base-object,,4.2in}
@center @image{/home/dcooper8/gdl-build/
dcooper8
/genworks-gdl/documentation/unified-doc/yadd/geom-base/image/base-object,,4.2in}
documentation/unified-doc/yadd/geom-base/base-view.texi
View file @
f6a39309
...
...
@@ -2,15 +2,15 @@
@b{Description}
Generic container object for displaying a scaled transformed view of geometric or
text-based objects. @i{Base-view} can be used by itself or as a child of a @i{base-drawing}
In a GWL application-mixin, you can include an object of this type in the ui-display-list-leaves.
For the PDF output-format, you can also use the cad-output output-function to write the
view as a PDF document.
Since base-view is inherently a 2D object, only the top view (getf *standard-views* :top)
Generic container object for displaying a scaled transformed view of geometric or
text-based objects. @i{Base-view} can be used by itself or as a child of a @i{base-drawing}
In a GWL application-mixin, you can include an object of this type in the ui-display-list-leaves.
For the PDF output-format, you can also use the cad-output output-function to write the
view as a PDF document.
Since base-view is inherently a 2D object, only the top view (getf *standard-views* :top)
makes sense for viewing it.
@noindent @b{Optional-input-slots}
...
...
@@ -165,48 +165,48 @@ parameter. Defaults to (getf *standard-views* :top), which is the vector [0, 0,
@noindent @b{Examples}
@smallexample
@cartouche
(in-package :gdl-user)
(define-object box-with-two-viewed-drawing (base-object)
:objects
((drawing :type 'two-viewed-drawing
:objects (list (the box) (the length-dim)))
(length-dim :type 'horizontal-dimension
:hidden? t
:start-point (the box (vertex :rear :top :left))
:end-point (the box (vertex :rear :top :right)))
(box :type 'box
:hidden? t
:length 5 :width 10 :height 15)))
(define-object two-viewed-drawing (base-drawing)
:input-slots (objects)
:objects
((main-view :type 'base-view
:projection-vector (getf *standard-views* :trimetric)
:length (half (the length))
:center (translate (the center)
:rear (half (the-child length)))
:objects (the objects))
(top-view :type 'base-view
:projection-vector (getf *standard-views* :top)
:length (* 0.30 (the length))
:objects (the objects))))
(generate-sample-drawing :objects
(the-object (make-object 'box-with-two-viewed-drawing) drawing top-view))
@cartouche
(in-package :gdl-user)
(define-object box-with-two-viewed-drawing (base-object)
:objects
((drawing :type 'two-viewed-drawing
:objects (list (the box) (the length-dim)))
(length-dim :type 'horizontal-dimension
:hidden? t
:start-point (the box (vertex :rear :top :left))
:end-point (the box (vertex :rear :top :right)))
(box :type 'box
:hidden? t
:length 5 :width 10 :height 15)))
(define-object two-viewed-drawing (base-drawing)
:input-slots (objects)
:objects
((main-view :type 'base-view
:projection-vector (getf *standard-views* :trimetric)
:length (half (the length))
:center (translate (the center)
:rear (half (the-child length)))
:objects (the objects))
(top-view :type 'base-view
:projection-vector (getf *standard-views* :top)
:length (* 0.30 (the length))
:objects (the objects))))
(generate-sample-drawing :objects
(the-object (make-object 'box-with-two-viewed-drawing) drawing top-view))
@end cartouche
@end smallexample
@center @image{/home/dcooper8/gdl-build/
teodor-gelu
/genworks-gdl/documentation/unified-doc/yadd/geom-base/image/base-view,,4.2in}
@center @image{/home/dcooper8/gdl-build/
dcooper8
/genworks-gdl/documentation/unified-doc/yadd/geom-base/image/base-view,,4.2in}
documentation/unified-doc/yadd/geom-base/bezier-curve.texi
View file @
f6a39309
...
...
@@ -2,12 +2,12 @@
@b{Description}
GDL currently supports third-degree Bezier curves, which are
defined using four 3D @i{control-points} . The Bezier curve always passes
through the first and last control points and lies within the convex hull of the control
points. At the start point (i.e. the first control point), the curve is tangent
to the vector pointing from the start point to the second control point.
At the end point (i.e. the last control point), the curve is tangent to the
GDL currently supports third-degree Bezier curves, which are
defined using four 3D @i{control-points} . The Bezier curve always passes
through the first and last control points and lies within the convex hull of the control
points. At the start point (i.e. the first control point), the curve is tangent
to the vector pointing from the start point to the second control point.
At the end point (i.e. the last control point), the curve is tangent to the
vector pointing from the end point to the third control point.
@noindent @b{Required-input-slots}
...
...
@@ -83,23 +83,23 @@ segment.
@noindent @b{Examples}
@smallexample
@cartouche
(in-package :gdl-user)
(define-object bezier-sample (bezier-curve)
:computed-slots
((control-points (list (make-point 0 0 0)
(make-point 1 1 0)
(make-point 2 1 0)
(make-point 3 0 0))))
:objects
((points-display :type 'points-display
:points (the control-points))))
(generate-sample-drawing :objects (let ((self (make-object 'bezier-sample)))
(list self (the points-display))))
@cartouche
(in-package :gdl-user)
(define-object bezier-sample (bezier-curve)
:computed-slots
((control-points (list (make-point 0 0 0)
(make-point 1 1 0)
(make-point 2 1 0)
(make-point 3 0 0))))
:objects
((points-display :type 'points-display
:points (the control-points))))
(generate-sample-drawing :objects (let ((self (make-object 'bezier-sample)))
(list self (the points-display))))
@end cartouche
@end smallexample
@center @image{/home/dcooper8/gdl-build/
teodor-gelu
/genworks-gdl/documentation/unified-doc/yadd/geom-base/image/bezier-curve,,4.2in}
@center @image{/home/dcooper8/gdl-build/
dcooper8
/genworks-gdl/documentation/unified-doc/yadd/geom-base/image/bezier-curve,,4.2in}
documentation/unified-doc/yadd/geom-base/box.texi
View file @
f6a39309
...
...
@@ -2,7 +2,7 @@
@b{Description}
This represents a ``visible'' base-object -- a six-sided box with all the same
This represents a ``visible'' base-object -- a six-sided box with all the same
messages as base-object, which knows how to output itself in various formats.
@noindent @b{Computed-slots}
...
...
@@ -20,20 +20,20 @@ messages as base-object, which knows how to output itself in various formats.
@noindent @b{Examples}
@smallexample
@cartouche
(in-package :gdl-user)
(define-object box-sample (box)
:computed-slots ((display-controls (list :color :blue-neon))
(length 10)
(width (* (the length) +phi+))
(height (* (the width) +phi+))))
(generate-sample-drawing :objects (make-object 'box-sample)
:projection-direction (getf *standard-views* :trimetric))
@cartouche
(in-package :gdl-user)
(define-object box-sample (box)
:computed-slots ((display-controls (list :color :blue-neon))
(length 10)
(width (* (the length) +phi+))
(height (* (the width) +phi+))))
(generate-sample-drawing :objects (make-object 'box-sample)
:projection-direction (getf *standard-views* :trimetric))
@end cartouche
@end smallexample
@center @image{/home/dcooper8/gdl-build/
teodor-gelu
/genworks-gdl/documentation/unified-doc/yadd/geom-base/image/box,,4.2in}
@center @image{/home/dcooper8/gdl-build/
dcooper8
/genworks-gdl/documentation/unified-doc/yadd/geom-base/image/box,,4.2in}
documentation/unified-doc/yadd/geom-base/c-cylinder.texi
View file @
f6a39309
...
...
@@ -59,24 +59,24 @@ Provides a simple way to create a cylinder, by specifying a start point and an e
@noindent @b{Examples}
@