Polygon File Format

From GICLWiki
(Difference between revisions)
Jump to: navigation, search
Line 27: Line 27:
  
 
'''Example(s):'''  
 
'''Example(s):'''  
 +
<pre>
 +
ply
 +
format ascii 1.0          { ascii/binary, format version number }
 +
comment made by Greg Turk  { comments keyword specified, like all lines }
 +
comment this file is a cube
 +
element vertex 8          { define "vertex" element, 8 of them in file }
 +
property float x          { vertex contains float "x" coordinate }
 +
property float y          { y coordinate is also a vertex property }
 +
property float z          { z coordinate, too }
 +
element face 6            { there are 6 "face" elements in the file }
 +
property list uchar int vertex_index { "vertex_indices" is a list of ints }
 +
end_header                { delimits the end of the header }
 +
0 0 0                      { start of vertex list }
 +
0 0 1
 +
0 1 1
 +
0 1 0
 +
1 0 0
 +
1 0 1
 +
1 1 1
 +
1 1 0
 +
4 0 1 2 3                  { start of face list }
 +
4 7 6 5 4
 +
4 0 4 5 1
 +
4 1 5 6 2
 +
4 2 6 7 3
 +
4 3 7 4 0
 +
 +
</pre>
 
* Sample ascii ply file [[http://local.wasp.uwa.edu.au/~pbourke/dataformats/ply/example1.ply]]
 
* Sample ascii ply file [[http://local.wasp.uwa.edu.au/~pbourke/dataformats/ply/example1.ply]]
 
* ply.h [[http://local.wasp.uwa.edu.au/~pbourke/dataformats/ply/ply.h]]
 
* ply.h [[http://local.wasp.uwa.edu.au/~pbourke/dataformats/ply/ply.h]]

Revision as of 17:20, 15 February 2010

Title(s): PLY - Polygon File Format

Version ID: version 1.0 PLY format

Date released: - Date that the version was released.

Date: - Date the format was created (YYYY-MM-DD)

Creator(s): Entity Template - The creator or original author of the engineering format.

Contributor(s): - The current maintainers of the engineering format.

Relationships: - Relationships that the engineering format has with organizations, other formats, etc.

  • Previous Version(s): - Any engineering format that is a previous version format of this one.
  • Contains: - Any engineering format that is contained by this format.
  • Syntax Format(s): The PLY format describes an object as a collection of vertices, faces and other elements, along with properties such as color and normal direction that can be attached to these elements. A PLY file contains the description of exactly one object. Sources of such objects include: hand-digitized objects, polygon objects from modeling programs, range data, triangles from marching cubes (isosurfaces from volume data), terrain data, radiosity models. Properties that might be stored with the object include: color, surface normals, texture coordinates, transparency, range data confidence, and different properties for the front and back of a polygon.
  • Family Format(s): - Any family formats to which the engineering format may belong.

Description: - Main description of the format, which can give extra information not categorized.

History: The PLY file format is a simple object description that was designed for researchers working with polygonal models. Early versions of this file format were used at Stanford University and at UNC Chapel Hill.

Example(s):

ply
format ascii 1.0           { ascii/binary, format version number }
comment made by Greg Turk  { comments keyword specified, like all lines }
comment this file is a cube
element vertex 8           { define "vertex" element, 8 of them in file }
property float x           { vertex contains float "x" coordinate }
property float y           { y coordinate is also a vertex property }
property float z           { z coordinate, too }
element face 6             { there are 6 "face" elements in the file }
property list uchar int vertex_index { "vertex_indices" is a list of ints }
end_header                 { delimits the end of the header }
0 0 0                      { start of vertex list }
0 0 1
0 1 1
0 1 0
1 0 0
1 0 1
1 1 1
1 1 0
4 0 1 2 3                  { start of face list }
4 7 6 5 4
4 0 4 5 1
4 1 5 6 2
4 2 6 7 3
4 3 7 4 0

  • Sample ascii ply file [[1]]
  • ply.h [[2]]
  • plytest.c [[3]]
  • plyfile.c [[4]]
  • plydocs.txt [[5]]

Identifier: - A URL or other identifier that refers to the engineering format.

Documentation: Documentation Template - Information in general about the engineering format.

File Extensions: - Extensions of the engineering format, excluding the dot.

Applications: - Applications that the engineering format uses.

Magic numbers: The characters "ply" must be the first four characters of the file

Format(s): - The MIME file types.

Rights: - The name or type of the license for the engineering format. Examples: BSD-style license, Apache License, Proprietary license

Sustainability Factors: - Facts about the sustainability of this particular engineering format.

  • Standardization: - Information regarding standardization attempts with this format.
  • Adoption: - Information about how this format has been adopted by other organizations.
    • Licensing and patent claims: - Any licenses or patent claims that the engineering format makes.
  • Self-documentation: - Any self-documentation capabilities of the format.
  • External dependencies: - Anything that the format depends on outside of its control to function.
  • Technical protection considerations: - Any considerations that are necessary when it comes to technical protection.

Typical use: - Keywords that describe the format's typical use. Examples: CAD and CAM

File classification: - Specific properties that pertain to this engineering format.

  • Type {Binary, Text}: Both
  • Raster data: - Section describes whether or not the engineering format supports raster data.
    • Raster data 2D: - Can the format support 2D raster data? Example: A format that can contain 2D pixelated data supports 2D raster data.
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
    • Raster data 3D: - Can the format support 3D raster data? Example: A format that can contain 2D pixelated data of a 3D model supports 3D raster data.
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
  • Geometric representation: - Section describes whether or not the engineering format supports geometric representations.
    • Implicit representation: - Section describes whether or not the engineering format supports implicit representations.
      • Implicit surfaces: - Can the format support implicit surfaces? Example: A format that can contain surfaces that are generated with mathematical equations that contain the independent variables x, y, and z, like x^2 + y^2 + z^2 * R^2 = 0, supports implicit surfaces.
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
      • Implicit curves: - Can the format support implicit curves? Example: A format that can contain curves that are generated with mathematical equations that contain the independent variables x, y, and z, supports implicit curves.
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
      • Point set: - Can the format support point sets? Example: A format that supports surfaces and lines that are generated by points that form triangles supports point sets.
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
    • Mesh: - Section describes whether or not the engineering format supports mesh.
      • Manifold surface meshes: - Can the format support manifold surface meshes? Example: A format that supports surfaces that are mathematical spaces in which every point has a neighborhood which resembles Euclidean space
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
      • Manifold volume meshes: - Can the format support manifold volume meshes? Example: A format that supports volumes that are mathematical spaces in which every point has a neighborhood which resembles Euclidean space
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
      • Non-manifold meshes: - Can the format support non-manifold meshes? Example: A format that supports meshes that are not manifolds
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
    • Parametric representation: - Section describes whether or not the engineering format supports parametric representations.
      • Parametric surfaces: - Can the format support parametric surfaces? Example: A format that can contain surfaces that are generated with parametric equations supports parametric surfaces.
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
      • Parametric curves: - Can the format support parametric curves? Example: A format that can contain curves that are generated with parametric equations supports parametric curves.
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
    • Contour sets: - Can the format support contour sets?
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
    • NURBS: - Can the format support Non Uniform Rational Basis Splines? Examples: The engineering formats IGES, STEP, ACIS, and PHIGS
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
  • Multi-resolution models: - Can the format support models with multiple resolutions? Examples: A format that supports a highly detailed and lowly detailed model simultaneously supports multi-resolution models.
    • Is Supported: - Is the feature supported in the engineering format?
    • Description: - This field is used to describe the support or lack of support of the feature.
  • Dynamics: - Section describes whether or not the engineering format supports dynamics.
    • Kinematics: - Can the format support kinematics? Example: Does the format allow model parts to rotate?
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
    • Assembly: - Can the format support assembly? Example: Does the format allow the assembly instructions to be explicitly specified with a model?
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
    • Force(s): - Can the format support forces? Example: Does the format support acceleration forces?
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
  • Boundary representation - Can the format support models with boundary representations?
    • Manifold surface boundary representations: - Can the format support manifold surface boundary representations? Example: The engineering format STEP
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
    • Manifold volume boundary representations: - Can the format support manifold volume boundary representations? Example: The engineering format STEP
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
    • Non-manifold boundary representations: - Can the format support non-manifold boundary representations? Example: The engineering format STEP
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
  • Material transparency: - Can the format support transparency? Example: Does the format allow models to have a clear window in a car?
    • Is Supported: - Is the feature supported in the engineering format?
    • Description: - This field is used to describe the support or lack of support of the feature.

References: Paul Bourke, "The University of Western Australia", ["http://local.wasp.uwa.edu.au/~pbourke/dataformats/ply/", December 2010]

Personal tools