BezierView (short bview) is a light weight viewer that renders Bezier patches, rational bezier patches and polygonal meshes. It provides a simple tool to analyse surfaces based on curvature plots, curvature needle plots, and highlight line plots.

Features

Downloads

Binaries:

Source code as tar.gz: surflab-bezierview-tip.tar.gz

Source code from Mercurial repository

hg clone https://bitbucket.org/surflab/bezierview

Build

Prerequisites:

Option 1: QtCreator

Option 2: QMake

qmake BezierView.pro
make
./bview

Screenshots

Curvature
Clipping
Patch Grouping

File format

The data file contains segments, each segment represents one patch.

At the the beginning of each segment, there is a number indicating the patch type, then a block of patch data should follow.

Patch type:

Patch Data:

Polyhedron

the patch data should contain:

Vnum Fnum
v0x v0y v0z
v1x v1y v1z
..
v(n-1)x v(n-1)y v(n-1)z
3 f1v1 f1v2 f1v3   (OR: 4 f1v1 f1v2 f1v3 f1v4)
...
3 fmv1 fmv2 fmv3    ( vertices are indices from [0, n-1], not [1,n])

Tensor product patches

it should contain:

degu degv (or type 3 and 4, only degu)

Then the x y z value of the control points. The control points are sorted using row-major order of following matrix with size ( rows= degu+1) x (columns= degv+1) :

p11       p12    .... p1(degv+1)
p21       p22    .... p2(degv+1)
..       ..     ....    ..
p(degu+1)1 p(degu+1)1 .. p(degu+1)(degv+1)

i.e.

p11 p12 ... p1(degv+1) p21 ... p2(degv+1) ....
p(degu+1)1 ... p(degu+1)(degv+1)

Triangle Bezier patches

it should contain:

deg

then the the x y z value of the (deg+2)*(deg+1)/2 control points. the order of a cubic patch is , for instance, the following:

   9
  7 8
 4 5 6
0 1 2 3

the patch data then is

p0 p1 p2p p3 ... p9

PN triangle patches

it should contain:

deg Ndeg

then the control points; then the normals arranged at the same order as the control points.

PN quads

it should contain:

degu degv Ndegu Ndegv

then the control points; then the normals arranged at the same order

Example files(in data/)

License

Copyright (C) 2015 SurfLab, University of Florida.

This program is free for educational/research purpose. You will need to gain permissions from authors before you can use this program or any part of the source code for commercial usage.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.

Author(s):

BezierView 2.11c (Xiaobin's version): Old version of the website with information about old version of BezierView.