Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gendl
gendl
Commits
eeaeebde
Commit
eeaeebde
authored
Jan 20, 2016
by
Dave Cooper
Browse files
added points-display documentation and new points functions.
parent
f985644c
Changes
5
Hide whitespace changes
Inline
Side-by-side
base/source/package.lisp
View file @
eeaeebde
...
...
@@ -526,6 +526,8 @@ If you are interested in this effort we would love to hear from you at open-sour
#:bounding-box-from-points
#:flatten-lines
#:flatten-curves
#:point-on-plane?
#:point-on-vector?
#:arc
#:base-object
...
...
base/source/parameters.lisp
View file @
eeaeebde
...
...
@@ -23,7 +23,7 @@
(
defparameter
*gendl-version*
"15
88r
00
4
"
)
(
defparameter
*gendl-version*
"15
90pre
00
2
"
)
(
defparameter
*gendl-patch-level*
nil
)
...
...
geom-base/prereqs/source/utilities.lisp
View file @
eeaeebde
...
...
@@ -1628,3 +1628,33 @@ add any new keys.
(
the-child
%matrix-vector-2%
)
(
*
(
second
(
the-child
index
))
(
the-child
%matrix-increment-2%
)))))))
(
defun
point-on-plane?
(
3d-point
plane-point
plane-normal
&key
(
tolerance
*zero-epsilon*
))
"Boolean. Determines whether or not the <tt>3d-point</tt> lies on the plane specified by <tt>plane-point</tt>
and <tt>plane-normal</tt>, within <tt>tolerance</tt>.
:arguments (3d-point \"Point in question\"
plane-point \"point on the known plane\"
plane-normal \"normal to the known plane\")
:&key ((tolerance *zero-epsilon*) \"Tolerance for points to be considered coincident.\")
"
(
let
((
intersect-point
(
inter-line-plane
3d-point
plane-normal
plane-point
plane-normal
)))
(
coincident-point?
3d-point
intersect-point
:tolerance
tolerance
)))
(
defun
point-on-vector?
(
first-point
second-point
unknown-point
&key
(
tolerance
*zero-epsilon*
))
"Boolean. Determines whether or not the <tt>unknown-point</tt> lies on the ray specified by the vector
pointing from <tt>first-point</tt> to <tt>second-point</tt>, within <tt>tolerance</tt>.
:arguments (first-point \"first point of vector\"
second-point \"second point of vector\"
unknown-point \"point in question\")
:&key ((tolerance *zero-epsilon*) \"Tolerance for vectors to be considered same-direction.\")
"
(
let
((
known-vector
(
subtract-vectors
second-point
first-point
))
(
unknown-vector
(
subtract-vectors
unknown-point
first-point
)))
(
same-direction-vectors?
known-vector
unknown-vector
:tolerance
tolerance
)))
geom-base/wire/source/points-display.lisp
View file @
eeaeebde
...
...
@@ -22,7 +22,12 @@
(
in-package
:geom-base
)
(
define-object
points-display
(
outline-specialization-mixin
)
:input-slots
(
points
)
:documentation
(
:description
"Product a list of hidden-children which are GDL point objects, which
will be displayed in normal renderings using the <tt>outline-specialization-mixin</tt> mechanism."
)
:input-slots
(
"List of 3D points (i.e. vectors). The points to be displayed."
points
)
:computed-slots
((
points-array
(
make-array
(
length
(
the
points
))
:initial-contents
(
the
points
))))
...
...
gwl/source/answer.lisp
View file @
eeaeebde
...
...
@@ -333,7 +333,8 @@ instance at what time should the recovery instance expire?"
(
first
root-part-and-version
)))
(
defun
gwl-make-object
(
req
ent
part
&key
make-object-args
share?
skin
(
instance-id
(
if
share?
"share"
(
make-new-instance-id
))))
(
defun
gwl-make-object
(
req
ent
part
&key
make-object-args
share?
skin
(
instance-id
(
when
share?
"share"
)))
"Void. Used within the context of the body of a :function argument to Allegroserve's
publish function, makes an instance of the specified part and responds to the request
with a redirect to a URI representing the instance.
...
...
@@ -350,6 +351,10 @@ package-qualified object name\")
(publish :path \"/calendar\"
:function #'(lambda(req ent) (gwl-make-object req ent \"calendar:assembly\")))
</pre>"
(
unless
instance-id
(
setq
instance-id
(
make-new-instance-id
)))
(
let
((
query
(
request-query
req
)))
(
let
((
part
(
or
part
(
rest
(
assoc
"part"
query
:test
#'
string-equal
)))))
(
let*
((
current
(
gethash
(
make-keyword-sensitive
instance-id
)
*instance-hash-table*
))
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment