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

fixed point and material-properties for x3d

parent a2f9d89a
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -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
+4 −1
Original line number Diff line number Diff line
@@ -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
+4 −3
Original line number Diff line number Diff line
@@ -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,6 +472,7 @@ 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))