Revision 5e2ee19 by Benoit Bolsee July 18, 2008, 19:56 (GMT) |
BGE patch: support for partial hierarchy in dupligroup instantiation; removal of links that point to inactive objects during group instantiation. This situation corresponds to a group containing only a portion of a parent hierarchy (the Apricot team needed that to avoid logic duplication). The BGE will instantiate only the children that are in the group so that it follows the 3D view more closely. As a result, the logic links to the objects in the portion of the hierarchy that was not replicated will point to inactive objects (if the groups are stored in inactive layers as they should be). To keep the logic system consistent, these links are automatically removed. This last part of the patch is a general fix that could go in 2.47 but as this situation does not normally occurs in pre-2.47 games, it is not needed. |
Revision 25de501 by Martin Poirier July 18, 2008, 19:09 (GMT) |
Exponential cooling off and progressive minimization for simulated annealing |
Revision c0dfe80 by Martin Poirier July 18, 2008, 17:57 (GMT) |
Fix misceleanous errors/tweaks in cost calculations - Angle cost could easily balloon up, don't use relative difference - fix error with ends (wrong indexes) - add missing out of bound preventions |
Revision a397b4b by Benoit Bolsee July 18, 2008, 14:40 (GMT) |
BGE bug fix (good for 2.47): SetParent actuator did not work on dynamic objects. Dynamics will now be disabled automatically and the object will be set ghost for the duration of the parenting; this is to avoid static interaction with the parent object. The dynamic state is restored when the parenting is removed with RemoveParent actuator. This fix also applies to setParent() and removeParent() python functions. |
Revision 6786c51 by Campbell Barton July 18, 2008, 13:05 (GMT) |
own error, recent commit that tried to keep an active face could crash when deleting faces. |
Revision c216c98 by Campbell Barton July 18, 2008, 13:04 (GMT) |
bugfix the aspect of a block could become negative and default when scaling icons. this is caused by the using viewRedrawForce (transforming a mesh) and drawing icons in the image panel. must look into why bwin_getsinglematrix can give a negative value, probably because the opengl state is set incorrect. This is still not correct because the aspect will be wrong. but at least it wont crash. |
Revision b205cf3 by Ian Thompson July 18, 2008, 11:00 (GMT) |
All parsing is now done in one sweep and cached to allow details to be obtained without re-parsing. A text can be manually parsed with parse_text(text) which also updates the cache. |
Revision 21674d2 by Maxime Curioni July 18, 2008, 04:59 (GMT) |
soc-2008-mxcurioni: canvas for UnaryFunction0D, UnaryFunction1D, UnaryPredicate0D, UnaryPredicate1D. UnaryFunction0D and UnaryFunction1D implementations are going to be really challenging due to the changes in the infrastructure: UnaryFunction0D<T> and UnaryFunction0D<T> are templates and must be determined for compile-time. The easiest solution is to support each type individually; unfortunately, it removes the benefit of using an interface. To find a middle ground, a general unary function Python object type was created for 0D and 1D. In both cases, the types have a void* pointer keeping the address of the current unary function type. I am not sure yet if it will work. Interface0DIterator being removed by a list type, the t() and u() coordinate functions will to be transferred somehow, probably directly at the Interface0D level. |
Revision d3973da by Maxime Curioni July 18, 2008, 02:55 (GMT) |
soc-2008-mxcurioni: FEdge class added. Modifed converting functions to passing-by-reference format. Improved the type checking for FEdge and CurvePoint. Modified FEdge C++ class to test for null vertices. Updated previous classes to support FEdge. So far, whenever a Python object is created from its corresponding C++ object, the input object reference is copied into a new object. Due to Freestyle's functions (especially regarding the way it is iterated), it is currently impossible to deal with a pointer-based Python object. It is not a real drawback, just an aspect to keep in mind. |
Revision 1b46522 by Martin Poirier July 17, 2008, 20:46 (GMT) |
Max cost for collapsed bones |
Revision 98d85c3 by Martin Poirier July 17, 2008, 19:19 (GMT) |
Solve a crasher bug in the brute force solver |
Revision 426451a by Martin Poirier July 17, 2008, 17:33 (GMT) |
More levels for multi resolution (smoother progression between filtering values). Also different progression for internal edges filtering than external edges (small internal and less important than small external). |
Revision dcfcc41 by Ken Hughes July 17, 2008, 17:30 (GMT) |
Change message printed by sceneRender.enableCropping() to be more descriptive, and note the method as deprecated in the python docs. |
Revision 439e474 by Benoit Bolsee July 17, 2008, 15:33 (GMT) |
BGE patch: use the Blender convention to duplicate groups in the BGE so that the objects will be created with the location and orientation as in Blender. Note that the BGE handles scaling in a parent tree differently than Blender. To avoid discrepencies between the 3D view and the BGE, use only isotropic scaling on all your objects except the leaf objects (i.e. without children) that can have anisotropic scaling |
Revision 5848fee by Benoit Bolsee July 17, 2008, 12:29 (GMT) |
BGE bug fix (good for 2.47): fix logic reconnection after replication. The old method was matching the bricks by name assuming they are unique but it is not always the case, especially with the new dupligroup feature. The new method matches the bricks by objects and position. |
Revision e474894 by Maxime Curioni July 17, 2008, 06:35 (GMT) |
soc-2008-mxcurioni: SWIG removal - completed SVertex and CurvePoint classes migration. Stabilized a lot of the code for C++ -> Python conversion. Added the correct rich comparison operator and tested it. Corrected 'dupplicate' typo and changde to __copy__ for Python API. From now on, when a set should be output (PySet_Type), it is given as a list (PyList_Type). The reason is that it doesn't really matter what we bring back to the Python interpreter. The set is guaranteed in memory on the C++ side. For the CurvePoint class, the userdata variable is not yet ported (and will probably available as a list or a dictionary). The CurvePoint implementation works except for the initialization from other CurvePoints: somehow, the inner variables don't seem to be correctly handled. I do not know if it is a bug in Freestyle or if the CurvePoint object's state is correct for my test case. CurvePoint needs more testing. |
Revision dbfc5f6 by Benoit Bolsee July 16, 2008, 21:24 (GMT) |
BGE patch: fix mesh deformation errors with duplicated objects sharing the same mesh in case of 1) armature+multiple material 2) shape drivers |
Revision 7ef4829 by Brecht Van Lommel July 16, 2008, 13:47 (GMT) |
Bugfix: particles with deflection based on size could pass through objects due to a broken SweepingSphereIntersectsTriangleUV. This merges the code from the shrinkwrap branch by André Pinto, thanks! |
Revision 062643e by Ian Thompson July 16, 2008, 12:56 (GMT) |
Fixed error when scripts were run without a visible Text to work on. |
Revision 3ae64f6 by Campbell Barton July 16, 2008, 11:48 (GMT) |
* change active face behavior so that entering editmode will assign the first face as active when none is set. UnSetting the active face will also use the first face as active. * missing countall when selecting linked |
|