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
