Commit Graph

1181 Commits (505a8d42aa3b6df6ec6951b5aee73923a9b43bef)

Author SHA1 Message Date
Jared Duke 931f0489bd Properly parse 'mg' keyword in .obj files
The 'mg' keyword is currently being interpreted as a material library keyword,
when it really refers to the merging group.  Handle this case, in effect ignoring
the keyword as merging groups are currently unsupported.
2013-11-26 14:24:15 -08:00
Jared Duke 00717b6474 Default to light gray diffuse for STL
For consistency, use a light gray default diffuse color for STL files.
This provides consistency with other geometric types, like PLY, that use a
light-gray default material.
2013-11-26 14:11:24 -08:00
Alexander Gessler acca16c82f Merge pull request #196 from AIM360/UpdatedCodeComments
Updated some code comments in DefaultIOStream.cpp
2013-11-26 06:04:54 -08:00
henrikbuchholz 5983300422 Updated some code comments in DefaultIOStream.cpp
There was a misleading TODO comment that encouraged to use fseek/ftell instead of fstat. However, fstat has been used intionally because fseek/ftell is potentially unsafe.
So I replaced the TODO and added some explanation why fstat is being used instead.
2013-11-26 14:52:53 +01:00
Alexander Gessler d6a3df0acf Merge pull request #192 from AIM360/FaultToleranceFor3DSLoader
3DSLoader: Skipped chunks of size 0
2013-11-25 09:46:00 -08:00
henrikbuchholz 35fa7cb441 3DSLoader: Skipped chunks of size 0 2013-11-25 11:53:15 +01:00
henrikbuchholz d7dbdd6c3b SortByPType Posprocessing crashed for crappy models with degenerated geometry
Which models crashed before the fix?:
The crash was observed for files with the following properties:
1. They contain >=1 meshes
2. They were loaded with SortByPType option
3. They only contained degenerated meshes, so that these were skipped SortByPType

What is improved by the fix?:
Obviously, the affected models were crappy anyway and will still produce empty output after the fix. However, the fix avoids the heap-corruption, which couldn't be solved by try/catch from outside and had the annoying effect that a whole scene with hundreds of individual models could crash due to a single crappy one.

Why did it crash before?
The SortByPType deleted some exluded meshes, but didn't reset the pointers in pScene. After throwing the DeadlyImportException (no remaining meshes), remaining meshes were deleted => Excluded meshes were deleted twice.
2013-11-25 10:50:15 +01:00
acgessler d080f92241 BlenderTesselator: Fix OffsetOf() macro 2013-11-22 19:54:47 +01:00
acgessler 857e50ba40 BlenderTesselator: disable GLU tesselation code by default. 2013-11-22 13:58:40 +01:00
acgessler fbb1a79248 Update CMakeLists 2013-11-22 13:57:50 +01:00
Alice 01a6ec9059 Adding tessellation support for new Blender 2.6 polygons
- Added BlenderBMesh.cpp/h which contains a class to convert a BMesh to an old style tri/quad mesh
- Added BlenderTessellator.cpp/h which contains a class to tessellate the poly loops contained within a BMesh
2013-11-22 13:17:21 +01:00
Eric Haines f2997a562b typo fix: loose -> lose 2013-11-14 10:09:10 -08:00
Hiroyuki Inoue 3a3ac4fea2 Fix to support FBX 2011 (7100) 2013-11-12 23:25:40 +09:00
Kim Kulling 685612b9f4 - refactoring : remove not used mesh index from private method in obj-importer.
- refactoring : remove commented code.

Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2013-10-11 15:29:17 +02:00
Calvin Hsu a9a881cde6 Blender: map texture influence to aiTextureType
Previously assimp mapped all blender image textures as
aiTextureType_DIFFUSE.  This change interprets the "mapto" property
which corresponds to the Blender "Influence" in the properties editor.

* Blender's Normal influence with "Normal Map" unchecked maps to
  aiTextureType_HEIGHT.
* Blender's Normal influence with "Normal Map" checked maps to
  aiTextureType_NORMAL.
* Influence scale is placed into AI_MATKEY_BUMPSCALING.
2013-10-08 19:01:02 -07:00
Kim Kulling e3a5480811 bugfix: fix typo's in obj-doxygen documentation.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2013-10-08 16:51:59 +02:00
Kim Kulling e4fca83237 refactoring : remove dead code.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2013-10-08 16:30:17 +02:00
Kim Kulling a889c1575f Merge branch 'master' of https://github.com/assimp/assimp 2013-10-08 16:24:43 +02:00
Kim Kulling 9e78823efb refactoring : remove dead code.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2013-10-08 16:21:47 +02:00
Sherief Farouk 5334020d17 Irrlicht shared code is now excluded only if both the Irrlicht and Irrlicht Mesh importers are excluded from the build. 2013-10-07 19:40:21 -04:00
Sherief Farouk cb65a97347 Irrlicht mesh loader is now predicated on the proper preprocessor define (ASSIMP_BUILD_NO_IRRMESH_IMPORTER) as opposed to a similarly named but wrong define (ASSIMP_BUILD_NO_IRR_IMPORTER). 2013-10-07 19:32:46 -04:00
acgessler ad0b214656 Exporter: do not make any assumptions on previously run PP steps if the scene is a copy. 2013-10-05 16:26:52 +02:00
acgessler 9d4f7c32e4 Scene: keep an internal flag whether the scene was copied using aiCopyScene() (and potentially modified by the user afterwards) 2013-10-05 16:26:16 +02:00
acgessler 3bee2818e4 Exporter: stop non intuitive automatic applying of "reverse" pp steps if user specifies no postprocessing steps. 2013-10-05 16:19:03 +02:00
acgessler 7aa966e204 Obj: fix texture coordinate indexing bug, fixes #41 2013-10-04 13:07:59 +02:00
Calvin Hsu 2fb07823f1 Add basic light and camera support
* Convert point and directional light
* Convert perspective camera

Not suppoted:
* Spotlight, area lights
* Perspective camera fov angle / focal length
* Orthogonal camera
2013-10-02 16:41:49 -07:00
acgessler c4ead93c34 Merge branch 'master' of github.com:assimp/assimp into blender-stackoverflow 2013-10-02 17:09:35 +02:00
acgessler fcedc7e8a6 FBX: make clear that we do not support 6.n file format, closes #93. 2013-10-02 17:09:10 +02:00
acgessler 7e16767229 Merge branch 'master' of github.com:assimp/assimp 2013-10-02 16:46:46 +02:00
acgessler c95697dd0e Exporter: if AI_SCENE_FLAGS_NON_VERBOSE_FORMAT is not set in input scenes, still check if the data is really in verbose format. This is a pure question of API usability and user surprise. 2013-10-02 16:46:31 +02:00
acgessler 586753bc19 Merge branch 'master' of github.com:assimp/assimp into blender-stackoverflow 2013-10-02 14:16:51 +02:00
acgessler b70650e9a4 Blender: new DNA loading code generated by genblenddna.py script, now machine-generates the previously hand-written fix. 2013-10-02 14:16:09 +02:00
acgessler 20204b49c5 Merge branch 'master' of github.com:assimp/assimp 2013-10-02 14:08:10 +02:00
acgessler cf639edb44 ObjExporter: request smooth normals. 2013-10-02 14:07:02 +02:00
acgessler 3408a0a838 Blender: iterative loading code for the linked list of scene objects, fixes #28 but is preliminary as it touches code that is normally machine-generated. 2013-10-02 01:39:59 +02:00
acgessler fdbfa572ab Merge branch 'master' of github.com:assimp/assimp 2013-10-01 17:56:12 +02:00
acgessler 325ef632cf PlyExporter: fix export format for compatibility with Blender and MeshLab (and the PLY spec). Fixes #122 2013-10-01 17:56:00 +02:00
Alexander Gessler 2abdf05a62 Merge pull request #136 from marshallExocortex/obj_exporter__unique_vector_export
remove duplicate vertices, normals and uvs when exporting obj format
2013-10-01 08:48:14 -07:00
Marshall Hahn c592154006 using a custom compare function instead of a global aiVector3t less than operator 2013-10-01 11:21:36 -04:00
Calvin Hsu 32a10ec0a0 obj: Add support for relative vertex indexing
obj files allow faces to specify indices relatively by using negative
integers. See vertex refering in http://www.martinreddy.net/gfx/3d/OBJ.spec
2013-09-30 15:26:40 -07:00
Calvin Hsu c29109d1a4 obj: Fix tabs causing vertices to be skipped
If an obj vertex definition 'v' is followed by a tab instead of a space,
the vertex definition is skipped.
2013-09-30 15:16:26 -07:00
Marshall Hahn b72b16c90b whitespace fix 2013-09-30 14:12:38 -04:00
Marshall Hahn 66fd9bb8a2 fixed bad merge 2013-09-30 14:11:37 -04:00
Marshall Hahn 8f34c24ae0 remove duplicate vectors when export obj format 2013-09-30 14:07:53 -04:00
acgessler e8a23ccec9 Merge branch 'master' of github.com:assimp/assimp 2013-09-29 21:56:52 +02:00
acgessler 5a0b40db92 ColladaExporter: fix assertion in ::isalnum() when a special character > 0x7f is present in material names. 2013-09-29 21:56:32 +02:00
Jared Duke 6f4632e4d9 Allow spaces before the ascii STL header keyword
The text "solid" is the general STL header indicator that the file is in fact
an ascii STL archive.  Allows spaces to precede the "solid" keyword, providing
compatibility with exporters that insert such (non-compliant )spaces.
2013-09-25 13:25:02 -07:00
Alexander Gessler e80886f12c Obj: support line continuations with \ (fixes #91) 2013-09-18 19:34:03 +02:00
Alexander Gessler 0f5272cb50 Obj: set aiMesh::mPrimitiveTypes 2013-09-18 18:35:41 +02:00
Alexander Gessler ab2e81d004 LWO: take last CLIP with the requested index (CLIPs ordered by ordinal string) 2013-09-18 14:27:56 +02:00
Alexander Gessler e9ffabbfee LWO: ignore chunks of length zero. 2013-09-18 14:27:24 +02:00
Alexander Gessler 45572e8079 Merge branch 'master' of github.com:assimp/assimp 2013-09-04 21:52:17 +02:00
Alexander Gessler 0edb78d940 Add aiFreeScene() API for symmetry with aiCopyScene. 2013-09-02 21:32:20 +02:00
Alexander C. Gessler 27727f692b add missing <sstream> header to lexical_cast replacement 2013-08-27 20:17:30 +00:00
Jared Duke 7db5dcb357 Improve STL representation detection
Previously, the STL loader relied on a string check at the start of the
buffer to determine if the STL file was of ASCII representation.  This led to
certain false-positives for binary STL files with the magic string present in
their header.  This patch addresses the issue by adding a proper binary check
to the representation detection.
2013-08-16 18:10:19 -07:00
Kim Kulling 6eaff77a7c bugfix : fix pedantic vs2012 warnings.
Signed-off-by: Kim Kulling <kim.kulling@googlemail.com>
2013-08-15 20:57:54 +02:00
Sherief Farouk c59a67ba28 Merge branch 'master' of https://github.com/assimp/assimp 2013-08-15 00:21:44 -04:00
Sherief Farouk d23430c4bd Collada mesh name is copied from id only if there was no name attribute in the <geometry> node. 2013-08-15 00:21:00 -04:00
Sherief Farouk 57e34cc90a Added loading of mesh name from Collada mesh to aiMesh struct. 2013-08-15 00:14:19 -04:00
Sherief Farouk a540c6255c Added parsing of Collada mesh names. 2013-08-15 00:12:58 -04:00
Sherief Farouk a6ddce7758 Added name member to Collada::Mesh. 2013-08-15 00:11:23 -04:00
Alexander Gessler 36a899abcf Merge pull request #70 from YoheiKakiuchi/master
Add binary exporter to STLExporter
2013-08-12 16:40:27 -07:00
Alexander Gessler 48b47464fd Merge branch 'master' of github.com:assimp/assimp 2013-08-12 23:43:01 +02:00
Alexander Gessler a2fb2dfb28 Exporter: if the scene data was converted to verbose format to meet the requirements of a preprocessing step, we should un-verbosify it again before the actual exporter is run. 2013-08-12 23:42:30 +02:00
Sherief Farouk 9b591fadb8 Fixes for uninitialized variable warnings. 2013-08-09 19:52:15 -04:00
Sherief Farouk a90e208e6d Fixed parameter type mismatch in StreamReader. 2013-08-09 19:10:56 -04:00
YoheiKakiuchi 60a65aaaeb add AI_SWAP4 for big endian architecture 2013-08-09 17:54:28 +09:00
Sherief Farouk c8428fa67a Added value range assertions to prevent static analysis false-positives on Clang. 2013-08-07 18:43:29 -04:00
Pavel Rojtberg 8d80f56396 fix include/ define in PostStepRegistry
allow to build without any post processing steps:
* typo in ASSIMP_BUILD_DEBONE_PROCESS -> ASSIMP_BUILD_NO_DEBONE_PROCESS
* needs to include ProcessHelper.h itself
2013-08-07 14:59:16 +02:00
Pavel Rojtberg 6920c433fd add missing include to fast_atof.h 2013-08-07 14:29:17 +02:00
Sherief Farouk 04b0ea3f9a Initialized stride variable to prevent compiler warnings about potential use of unassigned variable. 2013-08-05 00:02:27 -04:00
Sherief Farouk ace5b763c3 Added AI_WONT_RETURN and AI_WONT_RETURN_SUFFIX to DOMError. 2013-08-04 10:11:02 -04:00
Sherief Farouk 32b694d4f6 Added AI_WONT_RETURN_SUFFIX to ReportError(). 2013-08-04 10:10:41 -04:00
YoheiKakiuchi 4ccb16fe01 add binary exporter to STLExporter 2013-07-31 20:15:59 +09:00
YoheiKakiuchi 5470f5fb28 add AI_CONFIG_IMPORT_COLLADA_IGNORE_UP_DIRECTION for not transforming position of vertices 2013-07-27 10:34:48 +09:00
Alexander Gessler 07c1b2a68f Merge branch 'master' of github.com:assimp/assimp 2013-06-25 16:40:18 +02:00
Alexander Gessler b597ebbe43 Change spec of obj exporter. 2013-06-25 16:39:40 +02:00
Alexander Gessler 34d2bdd178 Exporters: raise errors if output files cannot be opened. 2013-06-25 14:09:28 +02:00
Alexander Gessler b5e916a646 Merge branch 'master' of github.com:assimp/assimp into fixes 2013-06-25 00:22:59 +02:00
Alexander Gessler 31311bdb3b IFC: support reading from IFCZip archives that don't use the same name for the embedded IFC file as the ZIP itself. 2013-06-25 00:22:47 +02:00
Alexander Gessler fd2f1ca3a8 Merge pull request #56 from asmaloney/init_stuff
Make sure members are initialized properly
2013-06-21 09:53:41 -07:00
Andy Maloney 1da281c1f8 Make sure members are initialized properly
Prefer initialization lists
Assignment operator should not return a const ref
2013-06-21 10:56:11 -04:00
Andy Maloney d7c6cd9ece {OBJ} Allow spaces in group names 2013-06-20 08:40:08 -04:00
Andy Maloney a03cb84d0c {COLLADA} Add detail to some errors/warnings & prefer '<>' for elements for readability 2013-06-15 18:00:40 -04:00
Alexander Gessler 88da17a246 Drop M3 Importer. 2013-06-13 11:22:23 +02:00
Andy Maloney c6d1a73854 Fix a logging message and a comment 2013-06-12 09:01:05 -04:00
Matt Lilley d411cbfbf4 Make use of unit tag in asset info to scale the whole model 2013-05-23 12:15:14 +12:00
acgessler b8ed6fbcef Fix Heap corruption in BlenderImporter::ConvertMesh function. closes #36 2013-05-03 23:16:56 +02:00
Alexander Gessler 7efb94580f - LWO: fix crash when computing normals for meshes that contain line or point faces. Thanks to Thomas Sevaldrud for the patch. 2013-04-26 16:49:24 +02:00
Alexander Gessler 4b748c2442 - CMake: use precompiled headers when compiling for msvc. This makes compilation about 40% faster. 2013-04-20 23:15:59 +02:00
Alexander Gessler 17e2588588 - workaround for older gcc versions (<4.6) sometimes copying temporaries even though they shouldn't. 2013-04-13 16:08:13 +02:00
Alexander Gessler afe1dd8c02 Merge branch 'master' of github.com:assimp/assimp into gcc-fixes 2013-04-08 23:21:33 +02:00
Alexander Gessler a288a631e2 - FBX: avoid more gcc warnings. 2013-04-08 20:21:28 +02:00
Kim bd05acf872 bugfix : fix unresolved symbols if 3DS-import is configured not to be oart of the lib.
Signed-off-by: Kim <Kulling>
2013-04-08 20:16:56 +02:00
Alexander Gessler 232e69dc2a - Ifc: code cleanup, remove various non-needed variables as pointed out by gcc. 2013-04-08 20:10:25 +02:00
Alexander Gessler 052a8634d2 OgreMaterial: remove unneeded variable. 2013-04-08 20:05:56 +02:00
Alexander Gessler f6cb467275 - FBX::ImportSettings: fix initialization list order. 2013-04-08 20:05:19 +02:00
Alexander Gessler 5fe03f692e - FBX: silence some warnings produced by clang about missing switch cases. Add TokenType_BINARY_DATA to TokenTypeString() function. 2013-04-08 19:45:09 +02:00
Alexander Gessler 47b2832dd8 - XGL: fix non isocpp-compliant definition of LogFunctions::log_prefix outside the namespace where the class resides. 2013-04-08 19:41:18 +02:00
Alexander Gessler d25715ad2c - Ifc: fix issue pointed out by clang that caused an epsilon check to go totally wrong. A pair of extra parentheses invoked C++ expression evaluation instead of argument passing. 2013-04-08 19:39:15 +02:00