go to www.geomview.org home page



Mailing List

Geomview For Windows?


Bug Reporting
Contact Us



Site Search



About the software@geom archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Remarks and Ideas

  • To: daeron at geom
  • Subject: Remarks and Ideas
  • Date: Mon, 17 Jan 94 17:26:04 MET

Hello Daeron,

you know that we test the possibilities of geomview to connect geomview as
powerfull output to POSES++, a simulator for discrete and discontinuous
processes. Trying to understand geomview and itBs language gcl we got some
problems with gcl-commands, their meaning and gcl-command-parameters. A list
follows hoping you can help us or these remarks will help you.
Moreover we had some ideas to increase the power of gcl for controlling the
time dependent behaviour of geomview (event list controlling by special 

List of remarks:
- gcl commands where tested following the "Geomview Manual" pp. 88-103,
- all gcl commands are given to geomview by using BtogeomviewB,
- using version: 
  (echo (geomview-version))
- running on NeXT 3.2 on a EISA-PC with ATI Local Bus card, (running also on 
  a SPARC 10/30 but not checked so detailed),
- example square.quad loaded before  (load square.quad).
- c: means command
- o: means output on togeomview console

1. ap-override arguments differs to the manual.
   c: (ap-override on)
   o: ap-override: id expected in arg position 1 (got "on")
   (ap-override off)
   ap-override: id expected in arg position 1 (got "off")
   c: (ap-override g1)

2. (car LIST) we do not understand. We thought (all geometry) returns a list.
   c: (car (all geometry))
   o: lisp error: call to unknown function "square.quad"
      car: list expected in arg position 1 (got nil)
   c: (echo (car (all geometry)))
   o: lisp error: call to unknown function "square.quad"
      car: list expected in arg position 1 (got nil)

3. (cdr LIST) same problem like in 2.

4. (cull-backface on|off) meaning and reactions ?

5. (cursor ...) function ?
   c: (cursor c0 off)
   o: Reading "[1]/tmp/geomview/OOGL": call to unknown function ""cursor"":
      > ... (cursor c0 off)
      lisp error: call to unknown function "cursor"

6. (cursor-still N) function for cursor quiet indication.
   No different reaction for N=10, N=100, N=1000 ?

7. (interest (command [arg masks])). Undependent load from panel or load from
   togeomview did not produce an echo to togeomview.
   c: (interest (load *))
   c: (load br4fd.grp)

8. (lines-closer c0 N) meaning and reaction ? No differences in output for the
   follwing command sequence.
   c: (lines-closer c0 1)
   c: (lines-closer c0 10)
   c: (lines-closer c0 100)
   c: (lines-closer c0 1000)

9. (ND-axes) (ND-color) (ND-xform) meaning and reaction ?
   c: (echo (ND-xform g1))
   o: no output because all geomview windows are hide now and geomview.app is
      no longer active as task (see process monitor).

10. (time-interests deltatime initial prefix suffix) meaning and reaction ?

11. (update N) meaning and reaction. For N=0.1/1.0/10.0/100.0 no differences
    detected (two square.quad instance are rotating with different transform
    parameters in the world).

12. (update-draw c0 N) meaning and reaction. Same problems detected like shown
    in 11.

The most questions were probably forced by our limited knowledge in your
special field. The Geomview Manual is good. It is very easy getting started.
But after one week testing and discussing we had some ideas or aspects for 
wishes in gcl-language. Unfortunately we donBt know your goal developing
the geomview tool and the gcl language. But it seems that it is the right
approach to create a tool with a powerfull string based command language to
use for many kinds of applications. The application can concentrate to itBs
specific problems and can use your knowledge in the 3D visualization field.
This is what we wish. We are constructing our simulation tool in a similar

Our ideas for future geomview versions are directed to the possibilities of
the geomview kernel and gcl to control the motions of objects.


First idea:

With the (*-incr ...) commands of gcl geomview applies a continuing motion
to an object. We understood that a transform is a property of an object. But an
object can only have one transform at one time. A new transform (set by 
*-set commands) overwrites the old one.
With the transform-incr command a speed (transformation: x y z  by time: dt)
can be specified to a transformation. Overwriting the transform by 0 an object
movement can be stoped. The syncronisation from an external module to the 
geomview kernel can be realized by polling the stream clock.

A way more easy could be the not yet existing commands:

(at absolute_time (command [argumentlist]))

At the specified absolute_time (float as usual in geomview) the also specified
command with an argument list will be processed by geomview kernel.
If the current time is later than absolute_time nothing is to do.

(after delta_time (command [argumentlist]))

After the specified delta_time (positive and relative to the current time) the
also specified command with an argument list will be processed by the geomview

For both commands: 
- these commands affect the event list in kernel,and must be sorted in time.
- commands with the same time (absolute action time in future) can be sorted as
  fifo subqueue of the event queue.
- such commands offer an absolute correct time syncronisation between the
  geomview kernel and external modules.
- a motion with constant speed and way length (or time distance) can be
  specified by a command like the following example:
    (transform-incr square.quad world Camera translate 1 0 0 10.0)
    (after 20.0 (transform square.quad world Camera translate 0 0 0))

- activity lists can be created by time-related command groups.

Second idea:

The second idea is more complicate to implement. The wish is to define a
"path" to set an object on the path and say: 
"Go on a point x on the path,
 Align your axis (x,y,z combination) parallel to this path and
 go along this path with speed v for a time t or a distance d".
The path by itself must be specified before, so that the transformations
from one draw to the next can be calculated be the stepwide and the path
evaluation in the step direction.


But the implementation of idea one (at ...),(after ...) is the more interested
wish. Are there any possiblities to take such ideas into consideration ? We 
would be very pleased about it.

Yours sincerely,

Home | Overview | FAQ | Documentation | Support | Download | Mailing List
Windows? | Development | Bug Reporting | Contributing | Contact Us | Sponsors
site hosted by
SourceForge Logo