If your data consists of the points around a region listed sequentially and
the points are planar, you can describe the surface using the faces,loops
and edges representation of OpenDX.   Usually, an OpenDX Field object
contains a positions component and a connections component that lists the
(p,q,r...)
indices of the positions that currespond to each element (eg triangle,
quad, tetraheda ...)  When FLE connections are used, the field contains
three
components, each integer scalar, that list the (you guessed it) faces,
loops and edges of the regions.   The edges component lists the sequence of
position indices that comprise each loop in the data.  The loop component
contains the index of the start of each loop in the edges component.  The
faces component
contains the index of the starting Ioop in the face, enabling faces with
unconnected parts and containing holes to be defined.  To make a long story
short,
if you have a positions component with, say, 10 points that are the
boundary of a single face consisting of a single loop, your edges component
should be an integer array containing 10 values 0, 1, ..  9 and reffing the
positions component, your loops component should be an integer array
containing a single value, 0, and reffing the edges component, and your
faces component should also be an integer array containing a single value,
0, but now reffing the loops component.  If your input is a Field object
containing just a positions component, you'd do something like this:

i = Inquire(field, "items", "positions");
e = Enumerate(start = 0, end = i, delta = 1);
e = Options(e, "ref", "positions");
field = Replace(e, field, dstname="edges");
e = Enumerate(start = 0, end = 0, delta = 1);
e = Options(e, "ref", "edges");
field = Replace(e, field, dstname="loops");
e = Enumerate(start = 0, end = 0, delta = 1);
e = Options(e, "ref", "loops");
field = Replace(e, field, dstname="faces");

Then you can render the field directly, or Refine(field, "triangles"); to
get triangle connections.

Greg


"Carlos Martín García" <[EMAIL PROTECTED]>@opendx.watson.ibm.com on
06/11/2001 08:06:52 AM

Please respond to [email protected]

Sent by:  [EMAIL PROTECTED]


To:   [email protected]
cc:
Subject:  [opendx-users] how to blank a surface?



Hello all,
I'm plotting a surface, my original data are scattered points 3D. The
problem is that i would like plotting this surface within a boundary
(original data are points 2D clockwise ordered).

Could anyone help me?

Thanks in advance,
Carlos.

--
Carlos Martín García
Despacho A-121, ETSI de Telecomunicación
Ciudad Universitaria, 28040 Madrid
teléfono: 34 91 5495700 Ext 492




Reply via email to