HyperFun Project ***************************************************************************** www.hyperfun.org ******************************* ******************************* ** HyperFun Polygonizer ** ** ver:1.21 June 27, 2005 ** ******************************* ******************************* This is the third release of the HyperFun Polygonizer. This executable polygonizes and displays an object from a HyperFun file. With this version you can also export a VRML version of the output. All options are set at the command line as is described in the Usage section below. The options can be changed using the keys as shown at the bottom of the window. HyperFun is a simple geometric modeling language. It is intended for model geometric objects described in the form: F(x1, x2, x3, ..., xn) >= 0, This language is applicable to modeling algebraic and skeleton-based "implicit" surfaces, convolution surfaces, distance-based models, voxel objects, and more general F-rep objects. For details see www.hyperfun.org. If you have any problem with the software or installation please email us using the "Contact" button at the bottom of the page on our website (www.hyperfun.org). System Requirements: ----------------------------------------------------------------------------- Pentium Processor or higher. MS Windows, OpenGL The system has been tested on an NT 4.0 workstation with 128 MB of RAM. This system can handle a 100X100X100 grid. Much larger than this and the system will have to start using virtual memory which will result in quite a performance hit in calculation. Installation: ----------------------------------------------------------------------------- First, unzip the archive. This software uses the GLUT library in its implementation. If your machine is Windows95/98/NT, please, download glut32.dll and save it to the system directory. If you do not know the system directory location in your system, save to the same directory with hfp.exe, or search for "opengl32.dll", and save to the same directory. At this point the software is ready to use from the directory it was extracted to. Be sure and keep all files in the same directory. There is a test file named tst.hf that can be run to test the executable. Use the following command line: >hfp tst.hf Within a few seconds a window should appear displaying a green mesh of the test object. This test object is the same basic object displayed on the Web page as the HyperFun sample program. Usage: ----------------------------------------------------------------------------- hfp FileName Options : [-a (Parameters)] [-b (BoundingBox)] [-cf (FaceColor)] [-cl (LineColor)] [-d (DisplayMode)] [-g (GridDensity)] [-h <> (Help)] [-i (IsoValue)] [-o (ObjectName)] [-s (Search)] [-t <> (Time Report)] [-w (WindowSize)] [-wrl (VRMLOut)] [-stl (STLOut)] [-x (Mapping)] (I: integer) (D: double) (C: character) (S: string) FileName is the name of the model or hyperfun text file to use in the polygonization. This name must be specified, there is no default. Parameters: (Default Value <0.0,0.0,0.0,....>) Given as a list of double values that become the parameter array for the object being polygonized. At least one double must be specified. Any double type value is acceptable. Bounding Box: (Default Value <30>) Given as a list of double values that become the Bounding Box for the object being polygonized. When one argument is given it's +/- values are used t define the Bounding Box about each axis. Two arguments give the minumum and maximum values around each axis. Three arguments specify the +/- values of the X, Y, and Z axis respectively. Six arguments specify the entire Bounding Box Xmin, Ymin, Zmin, Xmax, Ymax, and Zmax. Any double type value is acceptable. The values for max must be greater than the values for min. Face Color: (Default Value <50,200,80>) Given as a list of integer values between 0 and 255 that become the RGB values of the Face Color. When one argument is given that same value is used for Red, Green, and Blue values. When three arguments are given they are used for Red, Green, and Blue values respectively. Line Color: (Default Value <0>) Given as a list of integer values between 0 and 255 that become the RGB values of the Line Color in Wireframe mode. When one argument is given that same value is used for Red, Green, and Blue values. When three arguments are given they are used for Red, Green, and Blue values respectively. Display Mode: (Default Value <5>) This option is used to set the display type for the mesh. The integer argument can be specified as follows: 1 - Wireframe Only 2 - Surface & Wireframe 3 - Surface with Normals (Diffuse Lighting) 4 - Surface & Wireframe with Normals (Diffuse Lighting) 5 - Surface with Normals (Diffuse & Specular Lighting) 6 - Surface & Wireframe with Normals (Diffuse & Specular Lighting) 7 - Surface with Normals (Diffuse & Specular Lighting) & Normals Displayed Note: Normal calculation is not executed in Display Mode 1 or 2. This will also affect wrl output. Grid Density: (Default Value <30> Given as a list of integer values between 2 and 250 that specify the Grid Density used for polygonization. When one argument is given that same value is used for the X, Y, and Z Grid Density values. When three arguments are given they are used for the X, Y, and Z Grid Density values respectively. Help: No Arguments. The -h option outputs this usage information. Iso Value: (Default Value <0.0> Given as a single double value. This is the value of the Iso-surface of the object being polygonized. Object Name: (Default Value Given as a single string, this is the name of the Object in the Model that is to be polygonized. If the given Object does not exist the first object in the model is used. Search: (Default Value <0.1>) This option is used to create a mesh with greater accuracy. A search is done for each vertex point. This search will find the vertex within the specified search number multiplied by the mesh size. Time Report: No Arguments. The -t option turns on the output of the timing information for the polygonization process. Window Size: (Default Value <480,320> Given as a list of integer values that specify the width and height of the display window in pixels. The range of values for width is 160 to 1600, and for height is 120 to 1200. When one argument is given that same value is used for both the height and width. When two arguments are given they are used for the height and width of the window respectively. VRML Output: (Default Value <>) This option is used to output the resulting mesh in VRML 2.0 format. The argument is the name by which the VRML file will be saved. STL Output: (Default Value <>) This option is used to output the resulting mesh in STL format. The argument is the name by which the STL file will be saved. Mapping: (Default Value ) Given as a list of double values or characters that define the mapping for object polygonization. The charecters X, Y, and Z define the X, Y, and Z mapping for the object. Other variables will be held constant at the specified double values. Model/FileName: This is the name of the Model, or more specifically the name of the file that you want to view. It has no default value, you must include a file name right after the hfp command. Example: hfp tst.hf -g 50 -b 20 -s 0.01 -stl tst.stl means polygonization of the model tst.hf with the grid density 50x50x50 in the bounding box [-20,20] for x,y, and z coordinates, and with the search of the intersection point on the cell edge with accuracy of 1% of the edge length. The resulting polygonal mesh is saved to the file tst.stl