Skip to main content

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

Metadata

Release files for binarymeshformat 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for binarymeshformat 1.0
File Size Uploaded
binarymeshformat-1.0.tar.gz 5.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for binarymeshformat 1.0
File Interpreter ABI Platform
binarymeshformat-1.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.3 kB

Release files / binarymeshformat-1.0.tar.gz

Download URL binarymeshformat-1.0.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
db9716147b434ce1428444dd15a341febf09654f7befec2a33d9362030ef2f67
BLAKE2b-256 checksum
How to use checksums
920c8009fadd8e6ddf7945f0497f9e145bf32edc85a903ec575739c3a7d410f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.8

Release files / binarymeshformat-1.0-py3-none-any.whl

Download URL binarymeshformat-1.0-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
70641db348cb61a4431bd9ec2b2a96b012fd69fc429ecd8f9eaf442b854a34f0
BLAKE2b-256 checksum
How to use checksums
0769434a2100872ccd28f632d959e5ba61032a9cc448fbbde3680b517d6eb289
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.8

Release history Release notifications | RSS feed

This release

1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page