assimp/port/PyAssimp
Séverin Lemaignan 848c875ec2 [pyassimp] Update, fix and beautify structs.py
structgen.py has been modified to make the resulting structs.py
more readable: comments should now correctly appear next to the
fields in the generated structs.py

Do not discard the size_t type. size_t was wrongly replaced by uint in ctypes
This caused corruptions when running pyassimp with a 64bits assimp library

While here, updated the max size of some meshes attributes (that leads
to corruptions as well)

While here, update paths to find the assimp headers

Updated structs.py to match assimp 2.0.863 (Ubuntu 12.04). It has been
also tested with libassimp as build from the trunk.
2012-10-23 14:41:52 +02:00
..
gen [pyassimp] Update, fix and beautify structs.py 2012-10-23 14:41:52 +02:00
pyassimp [pyassimp] Update, fix and beautify structs.py 2012-10-23 14:41:52 +02:00
README - update pyassimp genstructs script to work with the latest headers, add rudimentary test script to batch-load all test files using pyassimp 2011-04-19 20:48:33 +00:00
quicktest.py + really add rudimentary test script to batch-load all test files using pyassimp 2011-04-19 20:51:59 +00:00
sample.py - update pyassimp genstructs script to work with the latest headers, add rudimentary test script to batch-load all test files using pyassimp 2011-04-19 20:48:33 +00:00

README

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

	PyAssimp Readme
	---------------


-- a simple Python wrapper for Assimp using ctypes to access
the library. Tested for Python 2.6. Known not to work with
Python 2.4.


Note that pyassimp is by no means considered mature. It works,
but it is far away from wrapping Assimp perfectly.


USAGE
=====

To get started with pyAssimp, examine the sample.py script, which
illustrates the basic usage. All Assimp data structures are
wrapped using ctypes. All the data+length fields in Assimp's
data structures (such as 'aiMesh::mNumVertices','aiMesh::mVertices')
are replaced by simple python lists, so you can call len() on
them to get their respective size and access members using
[].

For example, to load a file named 'hello.3ds' and print the first
vertex of the first mesh, you would do (proper error handling
substituted by assertions ...):

> from pyassimp import pyassimp, errors
> 
> try:
> 	scene = pyassimp.load('hello.3ds')
> except AssimpError, msg:
>     print(msg)
>     return

> assert len(scene.meshes)
> mesh = scene.meshes[0]

> assert len(mesh.vertices)
> print(mesh.vertices[0])

> # don't forget this one, or you will leak!
> pyassimp.release(scene)


INSTALL
=======

PyAssimp requires a assimp dynamic library (DLL on windows,
so on linux :-) in order to work. The default search directories 
are:

- the current directory
- on linux additionally: /usr/local/lib

To build that library, refer to the Assimp master INSTALL
instructions. To look in more places, edit ./pyassimp/helper.py.
There's an 'additional_dirs' list waiting for your entries.