Commit e196d5fd authored by Dave Cooper's avatar Dave Cooper

added more line and arc constraints

parent 7c39282e
;;;; -*- coding: utf-8 -*-
(asdf:defsystem #:ta2 :description
(asdf:defsystem
#:ta2
:description
"The Gendl™ (legacy) Testing and Tracking Utility, version 2 (using Ajax but pre-gdlAjax, and no JQuery or CSS)"
:author "John McCarthy" :license
"Affero Gnu Public License (http://www.gnu.org/licenses/)" :serial t
:version "20140227" :depends-on (:gwl-graphics)
:author
"Genworks International"
:license
"Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial
t
:version
"20140313"
:depends-on
(:gwl-graphics)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package") (:file "source/parameters")
(:file "source/javascript") (:file "source/action-object")
(:file "source/ajax") (:file "source/assembly")
(:file "source/click-mode") (:file "source/inspector")
(:file "source/object-tree") (:file "source/part-type-form")
(:file "source/publish") (:file "source/viewport")))
((:file "source/package")
(:file "source/parameters")
(:file "source/javascript")
(:file "source/action-object")
(:file "source/ajax")
(:file "source/assembly")
(:file "source/click-mode")
(:file "source/inspector")
(:file "source/object-tree")
(:file "source/part-type-form")
(:file "source/publish")
(:file "source/viewport")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem #:tasty :description
"The Gendl™ Web-based Development Environment (tasty)" :author
"John McCarthy" :license
"Affero Gnu Public License (http://www.gnu.org/licenses/)" :serial t
:version "20140227" :depends-on (:tree :gwl-graphics)
(asdf:defsystem
#:tasty
:description
"The Gendl™ Web-based Development Environment (tasty)"
:author
"Genworks International"
:license
"Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial
t
:version
"20140313"
:depends-on
(:tree :gwl-graphics)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package") (:file "source/parameters")
(:file "source/assembly") (:file "source/initialize")
(:file "source/inspector") (:file "source/menu")
(:file "source/new-inspector") (:file "source/newer-inspector")
(:file "source/part-type-form") (:file "source/publish")
(:file "source/status-object") (:file "source/test-part")
(:file "source/test-part2") (:file "source/two-viewports")
(:file "source/viewport") (:file "source/zzinit")))
((:file "source/package")
(:file "source/parameters")
(:file "source/assembly")
(:file "source/initialize")
(:file "source/inspector")
(:file "source/menu")
(:file "source/new-inspector")
(:file "source/newer-inspector")
(:file "source/part-type-form")
(:file "source/publish")
(:file "source/status-object")
(:file "source/test-part")
(:file "source/test-part2")
(:file "source/two-viewports")
(:file "source/viewport")
(:file "source/zzinit")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem #:translators :description
(asdf:defsystem
#:translators
:description
"The Gendl™ Translators to/from XML and potentially other high-level KBE and Knowledge formats"
:author "John McCarthy" :license
"Affero Gnu Public License (http://www.gnu.org/licenses/)" :serial t
:version "20140227" :depends-on (:gwl)
:author
"Genworks International"
:license
"Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial
t
:version
"20140313"
:depends-on
(:gwl)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "xml/source/package") (:file "xml/source/genworks")
(:file "xml/source/definition-tree") (:file "xml/source/gdl2xml")
((:file "xml/source/package")
(:file "xml/source/genworks")
(:file "xml/source/definition-tree")
(:file "xml/source/gdl2xml")
(:file "xml/source/xml2gdl")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem #:tree :description
(asdf:defsystem
#:tree
:description
"The Gendl™ Tree component used by Tasty and potentially as a UI component on its own"
:author "John McCarthy" :license
"Affero Gnu Public License (http://www.gnu.org/licenses/)" :serial t
:version "20140227" :depends-on (:gwl-graphics)
:author
"Genworks International"
:license
"Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial
t
:version
"20140313"
:depends-on
(:gwl-graphics)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package") (:file "source/parameters")
(:file "source/ajax") (:file "source/assembly")
((:file "source/package")
(:file "source/parameters")
(:file "source/ajax")
(:file "source/assembly")
(:file "source/newertree")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem #:yadd :description
"The Gendl™ Yet Another Definition Documenter (yadd)" :author
"John McCarthy" :license
"Affero Gnu Public License (http://www.gnu.org/licenses/)" :serial t
:version "20140227" :depends-on
(asdf:defsystem
#:yadd
:description
"The Gendl™ Yet Another Definition Documenter (yadd)"
:author
"Genworks International"
:license
"Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial
t
:version
"20140313"
:depends-on
(:gwl-graphics #-allegro :cl-html-parse)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package") (:file "source/genworks")
(:file "source/parameters") (:file "source/mixins")
((:file "source/package")
(:file "source/genworks")
(:file "source/parameters")
(:file "source/mixins")
(:file "source/define-object-documentation")
(:file "source/assembly") (:file "source/ass")
(:file "source/assembly")
(:file "source/ass")
(:file "source/format-documentation")
(:file "source/function-documentation") (:file "source/initialize")
(:file "source/publish") (:file "source/test-part")
(:file "source/variable-documentation") (:file "source/zzinit")))
(:file "source/function-documentation")
(:file "source/initialize")
(:file "source/publish")
(:file "source/test-part")
(:file "source/variable-documentation")
(:file "source/zzinit")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem #:base :description
"The Gendl™ Base Core Kernel Engine" :author "John McCarthy"
:license "Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial t :version "20140227" :depends-on nil
(asdf:defsystem
#:base
:description
"The Gendl™ Base Core Kernel Engine"
:author
"Genworks International"
:license
"Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial
t
:version
"20140313"
:depends-on
nil
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package") (:file "source/genworks")
(:file "source/presets") (:file "source/parameters")
(:file "source/metaclasses") (:file "source/utilities")
(:file "source/start") (:file "expanders/source/inputs")
((:file "source/package")
(:file "source/genworks")
(:file "source/presets")
(:file "source/parameters")
(:file "source/metaclasses")
(:file "source/utilities")
(:file "source/start")
(:file "expanders/source/inputs")
(:file "expanders/source/computed-slots")
(:file "expanders/source/functions")
(:file "expanders/source/methods")
......@@ -22,10 +36,15 @@
(:file "macros/source/define-format")
(:file "rest/source/parameters")
(:file "rest/source/quantification")
(:file "rest/source/aggregate") (:file "rest/source/utilities")
(:file "rest/source/null-part") (:file "rest/source/vanilla-mixin")
(:file "rest/source/base-rule-object") (:file "rest/source/bodies")
(:file "rest/source/aggregate")
(:file "rest/source/utilities")
(:file "rest/source/null-part")
(:file "rest/source/vanilla-mixin")
(:file "rest/source/base-rule-object")
(:file "rest/source/bodies")
(:file "rest/source/ignore-errors-with-backtrace")
(:file "rest/source/init") (:file "rest/source/make-part")
(:file "rest/source/sequence") (:file "zzinit/source/initialize")
(:file "rest/source/init")
(:file "rest/source/make-part")
(:file "rest/source/sequence")
(:file "zzinit/source/initialize")
(:file "zzinit/source/zzinit")))
......@@ -33,6 +33,7 @@ conditional <tt>:type</tt> expression if you want to turn off a branch of the tr
(%lines-to-draw% nil)
(%curves-to-draw% nil)
(%2d-bounding-box% nil)
(path-info nil)
))
......
......@@ -567,6 +567,11 @@ If you are interested in this effort we would love to hear from you at open-sour
#:pie-chart
#:fillet
#:constrained-line
#:constrained-arc
#:*gs-text-alpha-bits*
#:*gs-graphics-alpha-bits*
......@@ -627,7 +632,7 @@ If you are interested in this effort we would love to hear from you at open-sour
#:linear-curve
#:fitted-curve
#:planar-offset-curve
#:filleted-curve
;;#:fillet
#:projected-curve
#:approximated-curve
#:silhouette-curves
......
;;;; -*- coding: utf-8 -*-
(asdf:defsystem #:cl-lite :description
"The Gendl™ Compile-and-Load Lite Utility" :author "John McCarthy"
:license "Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial t :version "20140227" :depends-on (:glisp)
(asdf:defsystem
#:cl-lite
:description
"The Gendl™ Compile-and-Load Lite Utility"
:author
"Genworks International"
:license
"Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial
t
:version
"20140313"
:depends-on
(:glisp)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package") (:file "source/parameters")
(:file "source/cl-lite") (:file "source/initialize")
((:file "source/package")
(:file "source/parameters")
(:file "source/cl-lite")
(:file "source/initialize")
(:file "source/zzinit")))
;;;; -*- coding: utf-8 -*-
<<<<<<< Updated upstream
(asdf:defsystem #:bus :description
"The Gendl™ Wireframe School Bus Demo" :author "John McCarthy"
:license "Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial t :version "20140227" :depends-on nil
=======
(asdf:defsystem
#:bus
:description
"The Gendl™ Wireframe School Bus Demo"
:author
"Genworks International"
:license
"Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial
t
:version
"20140313"
:depends-on
(:gwl-graphics)
>>>>>>> Stashed changes
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package") (:file "source/assembly")
(:file "source/body") (:file "source/chassis")
(:file "source/interior") (:file "source/rule-ackermann")
(:file "source/axle") (:file "source/fleet")
(:file "source/frame-rail") (:file "source/frame")
((:file "source/package")
(:file "source/assembly")
(:file "source/body")
(:file "source/chassis")
(:file "source/interior")
(:file "source/rule-ackermann")
(:file "source/axle")
(:file "source/fleet")
(:file "source/frame-rail")
(:file "source/frame")
(:file "source/html-writer-assembly")
(:file "source/html-writer-body")
(:file "source/html-writer-chassis")
(:file "source/html-writer-interior")
(:file "source/html-writer-rule-ackermann")
(:file "source/inter-seat-clearance-check")
(:file "source/inter-seat-spacing") (:file "source/knuckle")
(:file "source/parameters") (:file "source/publish")
(:file "source/rear-axle") (:file "source/seat")
(:file "source/seating-section") (:file "source/seating-side")
(:file "source/inter-seat-spacing")
(:file "source/knuckle")
(:file "source/parameters")
(:file "source/publish")
(:file "source/rear-axle")
(:file "source/seat")
(:file "source/seating-section")
(:file "source/seating-side")
(:file "source/wheel")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem #:ledger :description
"The Gendl™ Ledger Bookkeeping Demo" :author "John McCarthy"
:license "Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial t :version "20140227" :depends-on
(asdf:defsystem
#:ledger
:description
"The Gendl™ Ledger Bookkeeping Demo"
:author
"Genworks International"
:license
"Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial
t
:version
"20140313"
:depends-on
(#-gwl :gwl)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package") (:file "source/assembly")
(:file "source/html") (:file "source/zzinit")))
((:file "source/package")
(:file "source/assembly")
(:file "source/html")
(:file "source/zzinit")))
;;;; -*- coding: utf-8 -*-
<<<<<<< Updated upstream
(asdf:defsystem #:robot :description
"The Gendl™ Simplified Android Robot example " :author
"John McCarthy" :license
"Affero Gnu Public License (http://www.gnu.org/licenses/)" :serial t
:version "20140227" :depends-on nil
=======
(asdf:defsystem
#:robot
:description
"The Gendl™ Simplified Android Robot example "
:author
"Genworks International"
:license
"Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial
t
:version
"20140313"
:depends-on
(:gwl-graphics)
>>>>>>> Stashed changes
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/package") (:file "source/assembly")
(:file "source/initialize") (:file "source/parameters")
((:file "source/package")
(:file "source/assembly")
(:file "source/initialize")
(:file "source/parameters")
(:file "source/zzinit")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem #:wire-world :description
(asdf:defsystem
#:wire-world
:description
"The Gendl™ Wire-World demo and test-case for wireframe tessellation and X3D output"
:author "John McCarthy" :license
"Affero Gnu Public License (http://www.gnu.org/licenses/)" :serial t
:version "20140227" :depends-on
:author
"Genworks International"
:license
"Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial
t
:version
"20140313"
:depends-on
(#-gwl-graphics :gwl-graphics)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components ((:file "source/package") (:file "source/assembly")))
:components
((:file "source/package") (:file "source/assembly")))
;;;; -*- coding: utf-8 -*-
(asdf:defsystem #:examples :description
"The Gendl™ examples Subsystem" :author "John McCarthy" :license
"Affero Gnu Public License (http://www.gnu.org/licenses/)" :serial t
:version "20140227" :depends-on (:gwl-graphics :surf)
(asdf:defsystem
#:examples
:description
"The Gendl™ examples Subsystem"
:author
"Genworks International"
:license
"Affero Gnu Public License (http://www.gnu.org/licenses/)"
:serial
t
:version
"20140313"
:depends-on
(:gwl-graphics :surf)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/ch2-examples") (:file "source/ch3-examples")
(:gdl "source/primi-plane") (:gdl "source/ui-primi-plane")))
((:file "source/ch2-examples")
(:file "source/ch3-examples")
(:gdl "source/primi-plane")
(:gdl "source/ui-primi-plane")))
......@@ -51,6 +51,10 @@
(list p1 p2)
(list p2 p3)
(list p3 p0))))))
(path-info (append (list :move (first (the outline-points)))
(mapcan #'(lambda(point) (list :line point))
(rest (the outline-points)))))
(outline-points (ecase (the style)
((:wedge :double-wedge :triangle)
......@@ -67,7 +71,8 @@
(second-outline-points (when (member (the style) (list :double-wedge))
(mapcar #'(lambda(point)
(translate point :front (* (the length) (- 1 (the wedge-ratio)))))
(translate point :front (* (the length)
(- 1 (the wedge-ratio)))))
(the outline-points))))))
;;
......@@ -84,7 +89,8 @@
(write-the line-thickness-setting)
(destructuring-bind (p0 p1 p2 p3)
(if view
(mapcar #'(lambda(point) (the-object view (view-point point))) (the outline-points))
(mapcar #'(lambda(point) (the-object view (view-point point)))
(the outline-points))
(the outline-points))
(write-the rgb-stroke-setting)
(pdf:move-to (get-x p0) (get-y p0))
......@@ -96,7 +102,8 @@
(when (the second-outline-points)
(destructuring-bind (p0 p1 p2 p3)
(if view
(mapcar #'(lambda(point) (the-object view (view-point point))) (the second-outline-points))
(mapcar #'(lambda(point) (the-object view (view-point point)))
(the second-outline-points))
(the second-outline-points))
(write-the rgb-stroke-setting)
(pdf:move-to (get-x p0) (get-y p0))
......
......@@ -58,10 +58,19 @@ Currently only :wedge is supported. Default is :none."
(first (the path-points))))
(leader-length (3d-distance (first (the path-points)) (lastcar (the path-points))))
(path-info (append (the arrowhead path-info)
(the polyline path-info)
(apply #'append (mapsend (the polylines) :path-info))
(the arrowhead-2 path-info)))
(display-controls (merge-display-controls (list :fill-color :black)))
(%lines-to-draw% (remove nil
(cons (the polyline %lines-to-draw%)
(apply #'append (mapsend (the polylines) :%lines-to-draw%))))))
(append (the polyline %lines-to-draw%)
(apply #'append (mapsend (the polylines) :%lines-to-draw%))))))
:hidden-objects
......@@ -80,15 +89,15 @@ Currently only :wedge is supported. Default is :none."
(arrowhead :type (if (not (eql (the arrowhead-style) :none)) 'arrowhead 'null-part)
:center (first (the path-points))
:length (the arrowhead-length)
:width (the arrowhead-width)
:style (the arrowhead-style)
:orientation (alignment :top (if (parallel-vectors?
(the (face-normal-vector :top)) (the arrowhead-vector))
(the (face-normal-vector :rear))
(the (face-normal-vector :top)))
:rear (reverse-vector (the arrowhead-vector))))
:center (first (the path-points))
:length (the arrowhead-length)
:width (the arrowhead-width)
:style (the arrowhead-style)
:orientation (alignment :top (if (parallel-vectors?
(the (face-normal-vector :top)) (the arrowhead-vector))
(the (face-normal-vector :rear))
(the (face-normal-vector :top)))
:rear (reverse-vector (the arrowhead-vector))))
(arrowhead-2 :type (if (not (eql (the arrowhead-style-2) :none))
'arrowhead 'null-part)
......
......@@ -24,8 +24,10 @@
(define-object linear-dimension (outline-specialization-mixin base-object)
:documentation (:description "Creates a dimension along either the horizontal, vertical, or an arbitray axis. Use
<tt>horizontal-dimension</tt>, <tt>vertical-dimension</tt>, or <tt>parallel-dimension</tt>, respectively, to achieve these.")
:documentation (:description "Creates a dimension along either the
horizontal, vertical, or an arbitray axis. Use
<tt>horizontal-dimension</tt>, <tt>vertical-dimension</tt>, or
<tt>parallel-dimension</tt>, respectively, to achieve these.")
:input-slots
(
......@@ -205,6 +207,7 @@ and end-point."
(
(%corners% (list (the start-point) (the end-point)))
(safe-distance (+ (3d-distance (the start-point) (the center))
......
......@@ -48,14 +48,8 @@
</pre>")
:computed-slots
((left-vector (the dimension-text (face-normal-vector :left)))
(right-vector (the dimension-text (face-normal-vector :right)))
(front-vector (the dimension-text (face-normal-vector :front)))
(rear-vector (the dimension-text (face-normal-vector :rear)))
("3D Point. Determines where the text will start. Defaults to reasonable location for
:input-slots
(("3D Point. Determines where the text will start. Defaults to reasonable location for
horizontal-dimension."
dim-text-start (let ((mid-point (translate-along-vector
(the leader-start)
......@@ -86,20 +80,29 @@ horizontal-dimension."
(:start (translate-along-vector (the leader-start)
(if (the start-end-swapped?)
(the rear-vector)
(the front-vector))
(+ (the leader-line-length)
(half (the dimension-text width)))))
(the front-vector))
(+ (the leader-line-length)
(half (the dimension-text width)))))
(:end (translate-along-vector (the leader-end)
(if (the start-end-swapped?)