Skip to main content

Python bindings for ITAPS interfaces

Project description

Installation

PyTAPS requires the following to be installed on your system:

  • Python 2.5+

  • NumPy 1.3.0+

  • At least one of…

    • MOAB (or other iMesh interface)

    • CGM (or other iGeom interface)

    • Lasso (or other iRel interface)

Once you have the prerequisites, the easiest way to install PyTAPS is to use Pip (0.7+ recommended):

pip install pytaps

This will download, compile, and install PyTAPS automatically. If you have some but not all of the ITAPS interfaces (e.g. only iMesh), this will only install interfaces for the libraries you have, as described in Autodetection of Libraries.

Building Manually

Like many Python packages, PyTAPS uses Setuptools for installation, so in general setup consists simply of downloading the tarball, extracting it, and typing python setup.py install inside the extracted directory. However, certain ITAPS interfaces may require some additional setup.

Autodetection of Libraries

The PyTAPS setup script supports importing definitions from the iXxx-Defs.inc files, where iXxx is the name of the interface. PyTAPS will attempt to find these files automatically, by searching in some common locations:

  1. The files specified in the environment variables IXXX_DEFS

  2. For each directory dir in the environment variables PATH and CPATH, look in dir/../lib

  3. Each directory in the environment variable LD_LIBRARY_PATH

  4. /usr/local/lib

  5. /usr/lib

If the PyTAPS setup script cannot find the iXxx-Defs.inc file, it will assume you do not have that interface installed and automatically disable it in PyTAPS.

If you have the iXxx-Defs.inc files installed but not in any of the above locations, you can specify where they are in the global command-line options --iXxx-path=PATH, like so:

python setup.py --iMesh-path=PATH install

Usage

The following example illustrates the basics of using iMesh. This script gets all the faces of a mesh and prints out the coordinates of their vertices:

from itaps import iBase, iMesh

mesh = iMesh.Mesh()
mesh.load("mesh.vtk")

faces = mesh.getEntities()
adj = mesh.getEntAdj(faces, iBase.Type.vertex)

for i in adj:
    for j in i:
        x, y, z = mesh.getVtxCoords(j)
        print "%f, %f, %f" % (x, y, z)
    print

Testing

Basic tests of the interfaces are located in test/. To run all the tests, run python setup.py test. To run a subset of tests, use -S <suite_name>, e.g. python setup.py -S test.imesh.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyTAPS-1.4.tar.gz (128.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page