Commit 069bae18 authored by Dave Cooper's avatar Dave Cooper
Browse files

fixed point and material-properties for x3d

parent a2f9d89a
......@@ -142,9 +142,7 @@
()
(let* ((display-controls (find-in-hash self *display-controls*))
(color (getf display-controls :color))
(color (or color (getf (the display-controls) :color) :black)))
(print-variables display-controls color)
(color (or color (getf (the display-controls) :color) (the color-decimal) :black)))
(cl-who:with-html-output (*stream* nil :indent nil)
(:|Material| :|diffuseColor| (write-the (rgb-color color))
......@@ -463,6 +461,20 @@
(define-lens (x3d point) ()
:output-functions
((shape ()
(let ((center (the center)))
(when center
(cl-who:with-html-output (*stream* nil :indent nil)
((:|Shape|
(:|Appearance| (write-the material-properties)))
((:|Coordinate| :point (format nil "~a ~a ~a"
(get-x center)
(get-y center)
(get-z center)))))))))))
(define-lens (x3d arc)()
:output-functions
......
......@@ -409,7 +409,10 @@ to call the :write-embedded-x3d-world function."))
(write-the view-object cad-output)))))))
((:script :type "text/javascript")
"x3dom.reload(); document.getElementById('the_element').runtime.debug(true); document.getElementById('the_element').runtime.statistics(true); ")
;;"x3dom.reload(); document.getElementById('the_element').runtime.debug(true); document.getElementById('the_element').runtime.statistics(true); "
"x3dom.reload(); "
)
#+nil
......
......@@ -23,8 +23,8 @@
(defstruct surface-point
(parameter nil :type double-float)
(other-parameter nil :type double-float)
(parameter 0.0 :type double-float)
(other-parameter 0.0 :type double-float)
(uv-point nil #+allegro :type #+allegro (vector double-float))
(3d-point nil #+allegro :type #+allegro (vector double-float)))
......@@ -472,11 +472,12 @@ length approximation. Scaled to curve exent.\")"
(u1 (the u1)) (u2 (the u2))
(parameter-list (when (eql spacing :parametric) (list-of-numbers u1 u2 (/ (- u2 u1) (1- number)))))
(percentage-list (when (eql spacing :arc-length) (list-of-numbers 0 1 (/ (1- number))))))
(unless (> number 1) (error "Equi-spaced-points must be called with a number greater than 1."))
(case spacing
(:parametric (mapcar #'(lambda(parameter) (the (point parameter))) parameter-list))
(:arc-length (mapcar #'(lambda(percentage)
(the (point-at-arc-length percentage
(the (point-at-arc-length percentage
:tolerance arc-length-approximation-tolerance)))
percentage-list))
(otherwise
......
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