This was a request by Daniel Salazar. It adds a new frame offset variable to fluid sim settings, which can be used to display baked fluid sims at different times. Eventually this could be replaced by real NLA strips for cached data, but until then this is a simple way to have more flexible cache result usage.
Not strictly a BCon3 patch, but after IRC discussion with Genscher, ZanQdo and kaito decided to commit it anyway, since it's a small feature and makes fluid sim a bit more usable. Similar patch for point cache (particles, smoke, cloth) is being worked on as well.
Crash was caused by attempting to create strip text from a missed sound datablock.
Actual error happened when this sound datablock was missed, but crash isn't nice
anyway and there were no way to repair scene.
1) The width of columns was incorrectly determined on windows, fixed by increasing the size of the dummy buf.
2) Added additional brackets to string for consistent formatting
the curve modifier was applying the offet between the mesh and the curve object twice.
for positive axis it was (offset+offser), for neg axis (offset-offset) --- giving no offset,
in both cases not very useful.
and projection matrix, so operators which depends on such things can easily save
settings in operator properties in invoke and then reuse them in exec callback.
This will fix: #24767: Knife tool last operations panel doesn't cause changes even though F6 pop-up does.
#27129: Problem with knife cuts/midpoint type in quad view
Usage is pretty simple:
- From operator template declaration function call ED_view3d_operator_properties_viewmat()
to register all needed properties in operator.
- From invoke callback call ED_view3d_operator_properties_viewmat_set to
store all needed settings in operator properties().
- To access this settings from exec callback, use function
ED_view3d_operator_properties_viewmat_get().
Additional change:
added function apply_project_float() which does the same as
project_float() but accepts actual values for viewport width/height and
projection matrix.
It was incorrect behavior of contarget_get_mesh_mat in cases when
object's Y axis is co-linear to average vertex group normal.
Use object's X axis for plane definition in such cases.
would indirectly clear it when clearing the window from the context. This makes
some sense when we support multiple scenes properly, but currently there's still
many places assuming there is a single active scene, so keep it available to
avoid crashes.
Realize this is bcon3 but this is was very bad IMHO.
- button adjusting key block was in between 2 object settings - which is misleading/confusing.
- you needed to click through all shapes to check which was muted, currently you's assume 1.0 means the shape is enabled.
Issue was caused by union policy needed to deal with cases when operand intersects
two or more intersecting meshes of another operand.
Changed this policy to run union operation only if there's actual intersection
between two meshes of the same object. Should work in general but it's still
possible to make it behave incorrect -- for example object consist of two groups
if concentric cubes which intersects each other.
The internal code for render layers node is unchanged, since the buffer is created anyway. Also noticed that, while unavailable sockets and links to/from them are not displayed, they are still used in execution, which could lead to unexpected results. But that's a more general problem with the way (pseudo-)dynamic sockets are simply flagged with SOCK_UNAVAIL.
* Disabled possibility to keyframe render resolution, percentage and border render properties. Animating them does not makes much sense. Discussed with Sergey in IRC.
for viewport display.
It saves plenty of memory when using subsurf modifier which result is getting
converted from CCGDM to CDDM without any benefit. It also syncs behavior of
modifiers with mesh.
Need to keep an eye on constructive modifiers when in edit mode.
Discovered this when was looking into #29973.
Issue was caused by resetting face's mat_nr to zero if there's no material
map sent to ConvertCSGDescriptorsToDerivedMesh. In case of boolean modifier
we can't use such map because we can't affect on materials present in object.
So the only way which can give reasonable result is:
- Dot change mat_nr for faces from left operand (they should be fine, because
materials aren't deleting by modifier)
- For faces from right operand check if needed material exists in left operand
and if so, use it's index as new mat_nr.
- If there are materials in right operand which doesn't exist in left operand,
they'll be changed to first material from left operand.
While looking at a bug report, I found that the current GUI for the Action
Constraint actually didn't make sense, mixing up settings so that it wasn't
clear which settings corresponded to which others. This commit cleans up the
layout into a clearer two-column design to have a "from" -> "to" layout, making
all the
relationships between things clear.
For more details see http://aligorith.blogspot.com/2012/01/action-constraint-
gui-revised.html