Commit Graph

32 Commits

Author SHA1 Message Date
Campbell Barton
f101e59e09 python api: rna array slices now return tuples rather then lists (fits with recent change made to mathutils).
minor improvements/cleanup to exporters.
2011-01-02 09:54:44 +00:00
Campbell Barton
129b6190ed geometry module
- rename functions from camel case.
- added docs for undocumented methods.
- minor functional changes with exceptions and accepting 3d/4d vectors where it makes no difference.

Renamed:
 - geometry.Intersect -> intersect_ray_tri
 - geometry.ClosestPointOnLine -> intersect_point_line
 - geometry.PointInTriangle2D -> intersect_point_tri_2d
 - geometry.PointInQuad2D -> intersect_point_quad_2d
 - geometry.LineIntersect -> intersect_line_line
 - geometry.LineIntersect2D -> intersect_line_line_2d
 - geometry.BezierInterp -> interpolate_bezier
 - geometry.TriangleArea -> area_tri
 - geometry.QuadNormal, TriangleNormal -> normal
 - geometry.PolyFill -> tesselate_polygon
 - geometry.BoxPack2D -> box_pack_2d
 - geometry.BarycentricTransform -> barycentric_transform
2011-01-02 02:11:38 +00:00
Campbell Barton
7f3fe8a2df pep8 cleanup 2011-01-01 07:20:34 +00:00
Campbell Barton
4d0c10d5ca presets for operators, re-using same preset system as render, cloth etc use.
- operators need to enable the option OPTYPE_PRESET or 'PRESET' in python.
- hidden properties are not written.
- currently this only works in the file selector (enabled for FBX/OBJ export)
- currently the menu label doesnt change when presets are selected, this is a TODO, not so simple since the UI is defined in C and the label in python.
- presets save in "scripts/presets/operators/*id*/*.py"
2010-12-24 07:46:40 +00:00
Campbell Barton
ce36f9a189 fix for exporting OBJ, materials when no world was set. also use slicing to get tuples. 2010-12-24 04:21:05 +00:00
Campbell Barton
54343b79e6 remove reload() from builtins since python3 no longer uses this.
use imp.reload now.

Should use import hooks but for now replace imp.reload with our own reload as the builtin reload was replaced before.
2010-12-22 21:39:48 +00:00
Campbell Barton
d43b55a200 fix for triangulate OBJ export option.
reworked fix from Radu Danciu
2010-11-22 16:20:59 +00:00
Campbell Barton
03d8fd4616 - use relative imports for packages
- reload() has been removed from pythons builtins. use imp.reload() instead (still need to apply globally).
- fixed own mistake, not ignoring 'filter_glob' as a keyword argument (broke fbx, obj, 3ds export)
2010-11-20 02:56:58 +00:00
Campbell Barton
506e692263 fix [#24804] filetring of files doesnt work for import/export 2010-11-19 10:33:44 +00:00
Campbell Barton
070f38a6d0 bugfix [#24696] Export OBJ - Selection Only toggle button has the wrong default state.
Added convenience function to operators, 'as_keywords()', so operator settings can be passed directly to a function as keyword arguments.

The problem in this case was that dictionary access to operator properties was not returning rna-property defaults, so as_keywords() ensures all defaults are set.
2010-11-15 13:11:40 +00:00
Campbell Barton
8221ed36d0 patch [#24496] Fix for exporting animations to OBJ format.
from Keith Astoria (kastoria)
2010-11-02 04:12:00 +00:00
Campbell Barton
3264ced377 move geometry python module into mathutils.geometry, since it provides utility functions using mathutils types. 2010-10-25 22:44:01 +00:00
Campbell Barton
201fd16df9 [#24250] wavefront import/export defaults
match operator and internal default arg defaults.
2010-10-15 02:40:11 +00:00
Campbell Barton
01733ecd6e [#24243] wavefront animation export
fix from dan grauer (kromar)
2010-10-14 09:09:41 +00:00
Campbell Barton
3dea67a3fd bugfix [#24065] obj export (mtl image path) 2010-10-01 05:19:40 +00:00
Campbell Barton
6a4b9298c8 patch [#23968] filter_filetypes property to allow operators to filter by file extensions in the file selector
modified the patch to store the string internally rather then an array of allocated string pointers, less hassle with memory allocation.
changed to use fnmatch, so *.foo is needed (not .foo as with the patch)
2010-09-24 07:05:43 +00:00
Campbell Barton
e90ad1d9ba Annoying hack to pretend that an operator and its properties are the same, when passing an operator to an rna function argument which accepts 'AnyType', then pass the properties instead.
This means we can do operator drawing without passing self.properties as an argument.

while this check if quite specific, if this gives problems later on we should probably change operators not to try to mix an operator and its properties, it looks nice to a scripter but internally is not easy to manage.
2010-09-24 03:48:26 +00:00
Campbell Barton
d135e63705 bugfix [#23945] obj export problems 2010-09-22 13:24:21 +00:00
Campbell Barton
868fdd80a2 use is rather then == when comparing against None. 2010-09-18 10:43:32 +00:00
Campbell Barton
1a58c6af7e revert 31916, while having the image name and the material name mixed, this is intentional else texface export breaks.
ideally this would only happen in cases where there are more then 1 image so we could avoid ugly names in common cases.
  svn merge -r31916:31915  release/scripts/op/io_scene_obj/export_obj.py
2010-09-14 01:10:20 +00:00
Nathan Letwory
a02e69064d Fix [#23761] OBJ exported materialname wrong
Reported by Reiner Prokein.

Just use the material name instead of concatenating with any image names to it.
2010-09-14 00:45:37 +00:00
Nathan Letwory
4dc52feb70 Fix one more case of z_transparency 2010-09-14 00:30:45 +00:00
Campbell Barton
7c9bf53bf1 bugfix [#23778] obj importing forgets to enable transparent into material 2010-09-13 02:35:59 +00:00
Nathan Letwory
4038ca3e71 Fix import of material with z transp enabled.
Reported by Heikki Lehikoinen in #blender.fi
2010-09-12 20:24:15 +00:00
Thomas Dinges
9ce624f6f6 Removed a "properties" too much. :/ 2010-09-11 15:33:30 +00:00
Thomas Dinges
cd4fb20b73 Patch [#23759] more replace self.properties.foo --> self.foo for bf-extensions/trunk/py/scripts
by Filiciss Muhgue (filiciss). Thanks a lot!

Part 1: Trunk, second part of patch will be committed to Extensions.
2010-09-10 23:39:43 +00:00
Campbell Barton
e0aca888de bugfix [#23464] Crash on Tab
OBJ importing edges would produce corrupt meshes because face edges were not created.
2010-09-07 00:32:45 +00:00
Thomas Dinges
916a466e15 Bugfix for [#23676] Obj Import fails again. 2010-09-04 11:11:37 +00:00
Campbell Barton
d0c54d3d0e use set as a suffix (matches operators)
- set_frame() --> frame_set()
 - set_context_pointer() --> context_pointer_set()

material adding works for curves and metaballs, new function to remove materials.

materials.link() didnt well fit how this is used elsewhere
 - order matters
 - it can be linked more than once.
 - remove(material), isnt that useful since you need to manage indicies.

... use list style functions instead. materials.append(mat) / materials.pop(index)
2010-09-03 07:25:37 +00:00
Nathan Letwory
da31d2628e Fix [#23612] OBJ import with imports double textures
Reported by Reiner Prokein

A .obj file can have multiple mtllib statements with the same name. Ensure that only one occurance is saved, so we don't get multiple entries from same material.

Also fix tabs -> spaces
2010-09-01 14:49:34 +00:00
Campbell Barton
a89c526a92 finished moving importers and exporters into python packages (as proposed on the mailing list).
- made operator dir's into python packages
- lazy loading of module which do the actual import and export (faster blender load times)
- general maintanance and small fixes.
- bugfix for exporting x3d materials
- leak fix for exporting 3ds
2010-09-01 12:11:34 +00:00
Campbell Barton
66a4de07e0 excuse the noise, adding type's in format package names. 2010-09-01 03:06:28 +00:00