go to www.geomview.org home page
 
Home

Overview
FAQ
Documentation

Download

Mailing List

Geomview For Windows?

Support
Users
Development

Bug Reporting
Contributing
Contact Us

Sponsors

 

Site Search

 

Advanced
Search

 
About the software@geom archive

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

Re: [Closed REQ 6218]: replace-geometry command


  • To: software@geom.umn.edu
  • Subject: Re: [Closed REQ 6218]: replace-geometry command
  • From: daemon
  • Date: Sat, 14 Jun 1997 23:00:03 -0500 (CDT)

Sorry -- the replace-geometry command won't do what you'd like here.  There's
just no way to replace things *within* a geometric primitive object, like
an OFF.  However, you can replace portions of a hierarchy, like a member
of a LIST, or the transformation-matrix or geom object of an INST.
There are a couple of ways to do this, the easiest one being the use of
"handles". 

Suppose you know, in advance, that you'll be changing the color of
(i.e. replacing) a particular face of a large OFF object.  Then,
rather than sending a single OFF, it'd be easiest to send a LIST
comprising two OFF objects: the large-one-minus-the-changeable-face,
and another OFF representing just that face, but named by a handle:

(geometry stuff {
  LIST
   { OFF
     ...  # large, unchangeable part
   }
   { define chunk
     OFF
     ...  # small, changeable part
   }
})

You could later change just the latter piece, with

(hdefine geometry chunk {
   OFF
   ...	# new data for changeable part
})


If you *don't* know in advance what part of the OFF will be changed,
it's harder.  There's no general way to deal with this.  You could
split up the large OFF into a LIST with many pieces of one face per piece,
using "define" to give a name to each piece; but that would be very
inefficient.  It's probably a bad idea to burden geomview with more than
a few hundred handles; you'd be better off re-transmitting the entire OFF
object for each change.

If the changeable object is really large, you could split it into a smaller
number of named pieces, with many faces per piece, and then only have to
re-send the piece that contained the change.

So, what's the replace-geometry command for?  It effectively allows you to
replace a portion of a hierarchy *without* having previously given a name
to that portion.  The part-specification is a list of integers specifying
a path through the hierarchy, e.g. "the 4th part of the  LIST contained in the
1st part of the INST contained in ...".  But it can't change properties
within geometric primitives, either; it can only replace the entire primitive.

  Stuart Levy


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