Commit 7f167514 authored by Dave Cooper's avatar Dave Cooper

reordered compile/loading to avoid serious warnings.

parent e8a5f410
......@@ -19,4 +19,4 @@
;; <http://www.gnu.org/licenses/>.
;;
("parameters" "classes" "methods" "curve" "surface" "brep")
("parameters" "classes" "methods" "geometry-kernel-object-mixin" "curve" "arc-curve" "linear-curve" "surface" "brep")
......@@ -22,12 +22,28 @@
(in-package :surf)
(eval-when (:compile-toplevel :load-toplevel :execute)
(define-object linear-curve ()
:input-slots (start end)))
(define-object %linear-curve% (line curve)
:computed-slots
((native-curve (make-linear-curve *geometry-kernel* (the start) (the end))))
:hidden-objects
((reverse :type 'linear-curve
:start (the end)
:end (the start))))
(define-object linear-curve (%linear-curve%)
:documentation (:description "A GDL NURBS Curve representing a straight line segment. The inputs are the same as
for l-line, namely <tt>start</tt> and <tt>end</tt> (3d points)."
:examples "<pre>
:examples "<pre>
(in-package :surf)
......@@ -43,16 +59,16 @@ for l-line, namely <tt>start</tt> and <tt>end</tt> (3d points)."
(line-constraints
(start (if (the trim-start)
(proj-point-on-line (the trim-start)
(proj-point-on-line (the trim-start)
(the constraint-object start)
(the constraint-object direction-vector))
(the constraint-object start)))
(the constraint-object start)))
(end (if (the trim-end)
(proj-point-on-line (the trim-end)
(the constraint-object start)
(the constraint-object direction-vector))
(the constraint-object end))))
(the constraint-object end))))
:computed-slots
......@@ -69,7 +85,7 @@ for l-line, namely <tt>start</tt> and <tt>end</tt> (3d points)."
(exprs (plist-values (the constraints)))
(constraint-type (cond ((every #'(lambda (key)
(eql :through-point key))
(eql :through-point key))
(the keys))
:2-points)
((and (getf (the constraints) :through-point)
......@@ -87,31 +103,23 @@ for l-line, namely <tt>start</tt> and <tt>end</tt> (3d points)."
:hidden-objects
((constraint-object :type (case (the constraint-type)
(:2-points 'line-constraints-2-points)
(:point-angle 'line-constraints-point-angle)
(:tangent-angle 'line-constraints-tangent-angle)
(:tangent-tangent 'line-constraints-tangent-tangent)
(:through-point-tangent-to 'line-contraints-through-point-tangent-to))
:constraints (the constraints)))
(:2-points 'line-constraints-2-points)
(:point-angle 'line-constraints-point-angle)
(:tangent-angle 'line-constraints-tangent-angle)
(:tangent-tangent 'line-constraints-tangent-tangent)
(:through-point-tangent-to 'line-contraints-through-point-tangent-to))
:constraints (the constraints)))
:functions
((tangent-point (constraint-index)
(when (member (the constraint-type) (list :tangent-angle :tangent-tangent))
(case constraint-index
(0 (the constraint-object start))
(1 (the constraint-object end)))))))
(when (member (the constraint-type) (list :tangent-angle :tangent-tangent))
(case constraint-index
(0 (the constraint-object start))
(1 (the constraint-object end)))))))
(define-object %linear-curve% (line curve)
:computed-slots
((native-curve (make-linear-curve *geometry-kernel* (the start) (the end))))
:hidden-objects
((reverse :type 'linear-curve
:start (the end)
:end (the start))))
(define-object test-linear-curve (linear-curve)
......
......@@ -4,16 +4,19 @@
"The Gendl® NURBS Surface and Solids Geometry Primitives" :author
"Genworks International" :license
"Affero Gnu Public License (http://www.gnu.org/licenses/)" :serial t
:version "20181023" :depends-on (:geom-base)
:version "20181207" :depends-on (:geom-base)
#-asdf-unicode :defsystem-depends-on #-asdf-unicode (:asdf-encodings)
#+asdf-unicode :defsystem-depends-on #+asdf-unicode ()
#+asdf-encodings :encoding #+asdf-encodings :utf-8
:components
((:file "source/parameters") (:file "source/classes")
(:file "source/methods") (:file "source/curve")
(:file "source/surface") (:file "source/brep")
(:file "source/3d-curve") (:file "source/approximated-curve")
(:file "source/approximated-subsurface") (:file "source/arc-curve")
(:file "source/methods")
(:file "source/geometry-kernel-object-mixin")
(:file "source/curve") (:file "source/arc-curve")
(:file "source/linear-curve") (:file "source/surface")
(:file "source/brep") (:file "source/3d-curve")
(:file "source/approximated-curve")
(:file "source/approximated-subsurface")
(:file "source/b-spline-curve") (:file "source/b-spline-surface")
(:file "source/basic-surface") (:file "source/blended-solid")
(:file "source/boolean") (:file "source/box-intersection ")
......@@ -36,15 +39,13 @@
(:file "source/formats")
(:file "source/general-dual-blend-surface")
(:file "source/general-sweep")
(:file "source/geometry-kernel-object-mixin")
(:file "source/global-filleted-polyline-curves")
(:file "source/gordon-surface") (:file "source/grouped-items")
(:file "source/iges-reader") (:file "source/initialize")
(:file "source/iso-curve")
(:file "source/joined-and-compatible-surfaces")
(:file "source/linear-curve") (:file "source/lofted-surface")
(:file "source/merged-brep") (:file "source/native-reader")
(:file "source/nonrational-curve")
(:file "source/lofted-surface") (:file "source/merged-brep")
(:file "source/native-reader") (:file "source/nonrational-curve")
(:file "source/normalized-curve")
(:file "source/normally-projected-curve")
(:file "source/offset-solid") (:file "source/offset-surface")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment