NAME
ijkgenpatch - generate isosurface patch
SYNOPSIS
#include "ijktable.h"
void ijkgenpatch
(const IJKTABLE::ISOSURFACE_TABLE_POLYHEDRON & polyhedron,
const long code, vector<int> & edge_list,
int & num_simplices);
ARGUMENTS
const IJKTABLE::ISOSURFACE_TABLE_POLYHEDRON & polyhedron
A convex polyhedron containing the isosurface. The
polyhedron may be in dimension other than three but it
must be convex for ijkgenpatch to produce a proper iso-
surface.
const long code
Encoding of vertex signs, + or -. If bit i of code
equals 1, then vertex i has positive sign. Otherwise,
vertex i has negative sign.
vector<int> & edge_list
Array of polyhedron edges containing isosurface ver-
tices returned by ijkgenpatch. Isosurface simplex j has
vertices on polyhedron edges (edge_list[d*i],
edge_list[d*i+1], ..., edge_list[d*i+d-1]) where d is
the polyhedron dimension.
int & num_simplices
Number of isosurface simplices returned by ijkgenpatch.
DESCRIPTION
Given a convex polyhedron polyhedron and a sign pattern
(+/-) defined by code, ijkgenpatch generates an isosurface
in the polyhedron which separates the positive (+) vertices
from the negative (-) ones. ijkgenpatch returns a set of
d-dimensional simplices forming the isosurface where d is
the dimension of the convex polyhedron. The vertices of
each simplex lie on the edges of the original polyhedron.
The vertices are specified, not by their coordinates, but by
the polyhedron edges containing the vertices. This
separates the computation of vertex coordinates from the
generation of the isosurface simplices.
NOTES
The input polyhedron must be convex for ijkgenpatch to pro-
duce a proper isosurface. ijkgenpatch creates an isosurface
from a subset of the convex hull of a subset of the
polyhedron vertices and edge midpoints. It uses a convex
hull routine written by K. Clarkson.
SEE ALSO
ijkgentable,ijktable(3).
AUTHOR
Praveen Bhaniramka, Rephael Wenger
Man(1) output converted with
man2html