NAME
genisopatch - generate isosurface patch
SYNOPSIS
#include "isotable.h"
void genisopatch
(const ISOTABLE::ISOSURFACE_TABLE_POLYHEDRON & polyhedron,
const long code, vector<int> & edge_list,
int & num_simplices);
ARGUMENTS
const ISOTABLE::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 genisopatch 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 genisopatch. 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 genisopatch.
DESCRIPTION
Given a convex polyhedron polyhedron and a sign pattern
(+/-) defined by code, genisopatch generates an isosurface
in the polyhedron which separates the positive (+) vertices
from the negative (-) ones. genisopatch 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 genisopatch to pro-
duce a proper isosurface. genisopatch 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
genisotable,isotable(3).
AUTHOR
Praveen Bhaniramka, Rephael Wenger
Man(1) output converted with
man2html