Reading and writing triangulated meshes
Project description
Binary Mesh Format
This is a small python library implementation for reading and writing triangulated meshes.
Usage
import binarymeshformat as bmf
meshTracks = bmf.loadMeshes(filename)
That will return a list of mesh tracks.
Track structure
A track has a name and a map. The name is just a string and the map maps integers to meshes.
Mesh structure
The mesh contains points in 3D space and their connections. It uses 3 aspects:
- positions which is an array of x,y,z coordinates.
- connections which is an array of indexes indicating two points are connected. Two indexes per connection.
- triangles an array of indexes, three indexes per triangle.
File Format
A .bmf file contains mesh tracks, where a track is a collection of meshes over time, a mesh is a set positions, connections, and triangles.
Header
The first four bytes are a version string. The current version string should be -1.
The next four bytes are an integer that says how many tracks are in the file.
Track
The first data in a track is a name, which can be a variable size. The first two bytes indicate the length of the name. The string encoding is a subset of UTF8.
Then each mesh is written.
Mesh
First a 4 byte int to represent the timepoint the mesh exists at.
Then a 4 byte integer representing the number of positions values, 8 byte float. Then a 4 byte integer is use to represent the number of connections indexes, each connection index is a 4 byte integers. Finally a 4 byte integer is used to represent the number of triangle indexes, each index is a 4 byte integer
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for binarymeshformat-1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70641db348cb61a4431bd9ec2b2a96b012fd69fc429ecd8f9eaf442b854a34f0 |
|
MD5 | 2c3b4140b68261ddf8960095c2fd8b26 |
|
BLAKE2b-256 | 0769434a2100872ccd28f632d959e5ba61032a9cc448fbbde3680b517d6eb289 |