cmesh Instructions


Getting Started

In order to compress/decompress a model, cmesh needs some information from the user.  However, first the program needs the name of the file the model is stored in.  Therefore,
once the user types cmesh, it will prompt with the following:

        Please Enter the filename of the input mesh:

The user then simply types in the name of the file (which should have a .dat extension).  Assuming that the fandisk model is the file that was input, it responds with the following message:

        Done getting vertice information...closing fandisk.dat
        Computing Normals...
        Done Computing normals.

This simply indicates that it has computed the normals for the current mesh.  At this point, the user can then manipulate the model, view the model in different ways, or choose to
compress the model.  The menu looks like so:

        ---KEYBOARD CMDS-->
        ---MODEL OPTIONS---
        Toggle White/Black
        Toggle Fill
        Toggle Normals
        Toggle Lights
        Toggle Layers
        Toggle Triangles
        Decompress Model

By default, the model is shown as a filled gray, Goraud shaded object.  The background is black.  In addition,
the lights are on, and the layers, triangles and normals are not shown, and all rotation/translation values are
zeroed out.  Therefore, in the case of the fandisk, one would see the following:



Keyboard Commands

If the user chooses the Keyboard Cmds option, a submenu pops up which looks like so:

        Translate x: 'x, X'
        Translate y: 'y, Y'
        Translate z: 'z, Z'
        Rotate x: 'r, R'
        Rotate y: '1, 2'
        Rotate z: '3, 4'

This simply means that if the user hits the keys designated, then the indicated translation/rotation of the model
will occur about the given axis.  Even though it is not stated, it should also be noted that the user could hit the
'q' or 'Esc" key to quit the program as well.


Model Options

Toggle White/Black:  This option toggles that background color and the model color.  The default is a gray, Goraud shaded object with a black background.  The other option is to have
                                     a white background, in place of the black background, which looks as so:


Toggle Fill:  This option simply toggles whether the object is filled or unfilled.  When filled, the object is gray and Goraud shaded.  When not filled, the object is simply a wireframe,
                      which for the fandisk looks as so:


Toggle Normals:  When this option is chosen, the normals computed for the model are shown.  The normals start in green and end in red.  An example of how this looks is as so:


Toggle Lights:  This option simply toggles the lighting on and off.  It is recommended that lighting is kept on, as object features are easier to see this way.

Toggle Layers:  This option can only be accessed once a model has been compressed.  It shows how a model's layering, which is a basis of the Topological Surgery method, turns out.
                           An example of a layering of a model is as so:

Toggle Triangles:  This option also can only be accessed once a model has been compressed.  It shows the model's vertex tree, which is another basis of the Topological Surgery method,
                                turns out. An example of a vertex tree of a model is as so:

Compress_Model:  This option simply allows the user to compress the model.  A link to a more detailed discussion of this option is below.

Decompress Model:  This option allows the user to decompress a model, and is also discussed more in a link below.

Quit:  This option simply exits the program.




Compression is the phase that needs the most information.  There are two types of compression.  The first is a linear prediction method, while
the second compression method uses SLCCA, and image compression technique.  For a more detailed description of the two methods, one can click on the following links:

                    LP Compression                                  SLCCA Compression



Decompression simply asks the user what the name of the compressed file is, and then, after compression, asks the user what they would like to name the decompressed file.  An example
of this phase can be seen by clicking here.


If you have any questions or comments, email me at