write.fs.surface.obj: Write mesh to file in Wavefront object (.obj) format

View source: R/write_fs_surface.R

write.fs.surface.objR Documentation

Write mesh to file in Wavefront object (.obj) format

Description

The wavefront object format is a simply ASCII format for storing meshes.

Usage

write.fs.surface.obj(filepath, vertex_coords, faces, vertex_colors = NULL)

Arguments

filepath

string. Full path to the output surface file, should end with '.vtk', but that is not enforced.

vertex_coords

n x 3 matrix of doubles. Each row defined the x,y,z coords for a vertex.

faces

n x 3 matrix of integers. Each row defined the 3 vertex indices that make up the face. WARNING: Vertex indices should be given in R-style, i.e., the index of the first vertex is 1. However, they will be written in FreeSurfer style, i.e., all indices will have 1 substracted, so that the index of the first vertex will be zero.

vertex_colors

vector of vertex colors. Will be written after the x, y, z coords on vertex lines. WARNING: This is NOT part of the official OBJ standard, and may not work with other software and even break some parsers.

Value

string the format that was written. One of "tris" or "quads". Currently only triangular meshes are supported, so always 'tris'.

Note

Do not confuse the Wavefront object file format (.obj) with the OFF format (.off), they are not identical.

See Also

Other mesh export functions: write.fs.surface.off.ply2(), write.fs.surface.off(), write.fs.surface.ply2(), write.fs.surface.ply(), write.fs.surface()

Examples

## Not run: 
    # Read a surface from a file:
    surface_file = system.file("extdata", "lh.tinysurface",
     package = "freesurferformats", mustWork = TRUE);
    mesh = read.fs.surface(surface_file);

    # Now save it:
    write.fs.surface.obj(tempfile(fileext=".obj"), mesh$vertices, mesh$faces);

## End(Not run)


freesurferformats documentation built on May 29, 2024, 5:29 a.m.