Compare commits

..

179 Commits

Author SHA1 Message Date
a2a7ca6aa1 SLIM: Fix uppercase folder name in CMake file 2018-05-27 19:46:34 +02:00
bbfee34e9e Merge remote-tracking branch 'origin/master' into uv_unwrapping_slim_algorithm 2018-05-01 17:03:20 +02:00
2e98524b58 Add support for area lights to the Apply Transform operator
Since area lights are affected by scaling them, it only makes sense to support applying the scale to the lamp size.
Of course, applying location or rotation does not work.

If a scaling that changes the aspect ratio is applied to a square lamp, the mode is automatically changed to Rectangle.
2018-04-30 22:09:23 +02:00
Dalai Felinto
32c4158047 Fix Merge > To Cursor
In master this is working fine, but in 2.8 ob->imat was identity matrix.
Committing this in master to simplify merging.
2018-04-30 21:42:16 +02:00
188c4a22c9 Cleanup: de-duplicate paint access from object 2018-04-30 18:58:43 +02:00
Julian Eisel
e76a65e359 UV editing: Make 'Select Linked' work consistent to 3D View
Don't see a good reason for the old behavior, so better have it consistent.
2018-04-30 15:42:29 +02:00
128506eeb1 BLI Color: YUV to/from rgb colorspace option
This commit does two things:

- Adds an option to do the calculation in different color spaces (BT601
or BT709).
- Changes the default caluclation from legacy BT601 to BT709.

This affects several areas:

- UI areas (mainly scopes)
- ViewLevelsNode
- Several other nodes that use `COM_ConvertOperation.h`
2018-04-29 18:00:45 -04:00
16c05161e7 Cycles: Cleanup: Remove double semicolons 2018-04-29 09:28:41 +02:00
60f4cb24da Fix vertex paint alpha brush setting color black 2018-04-28 14:47:53 +02:00
ffda096413 Cleanup: meaningful names for color blending 2018-04-28 14:45:10 +02:00
57405054b2 Fix T54836: Select sharp edges doesn't flush to faces 2018-04-26 14:32:35 +02:00
Julian Eisel
3c7500ca71 Cleanup: Use enums for View2D value defines
Makes the file much less cluttered and more structured.
Also made some whitespace tweaks.
2018-04-26 14:07:03 +02:00
d37dcc4880 Fix discontinuity in default UVs for a torus
Reported in T47489 by Simon Windmill (coolpowers) who also provided the
fix, thanx.

Reviewed by Sebastian Witt (witt)
2018-04-26 11:18:59 +02:00
f69feb4957 UI: optionally pass icon size to widget_draw_icon
No functional changes.
2018-04-25 17:26:45 +02:00
89bcc80c25 Library: Add assert to catch unsupported copy flags combination
Thanks Bastien for review!
2018-04-25 16:59:35 +02:00
331e97bcf3 Depsgraph: Fix missing relations in array modifier
Found by Dr. Sybren while working on modifiers port.
2018-04-25 16:34:01 +02:00
13b6867d1f CDDM: correct (disabled) logic in merge verts 2018-04-25 14:53:44 +02:00
53dc251fd3 Remove developer exception hack
This caused too much trouble, also it's possible users run with
'release' in their CWD causing issues.

Developers can symlink "release/" to "bin/2.79".
2018-04-25 12:54:27 +02:00
d7d20b483a Revert "Fix (unreported) broken 'get system path' in some cases."
This reverts commit f1bc0aedde.
2018-04-25 12:48:51 +02:00
26dab9c2fe Buildbot: Attempt to link against Blosc statically
Was broken by f1e6838376.
2018-04-25 12:27:35 +02:00
9a7f963a02 Cleanup: comments 2018-04-25 12:25:47 +02:00
f1bc0aedde Fix (unreported) broken 'get system path' in some cases.
There were two issues here actually:
* The hack to allow running Blender directly from the source directory
would just check for a 'release' directory, without actually ensuring it
is release dir from blender source tree, and not some other random
folder.
* GHOST_getSystemDir returns nothing for portable installations, now
we'll then check directly in the blender binary dir in that case.

This fix is more critical in 2.8 branch, where that system path is used
to retrieve new '3D' icons...
2018-04-25 10:37:36 +02:00
Dalai Felinto
5285de16f3 Fix string comparison in GNUMakefile for linux systems 2018-04-25 09:30:55 +02:00
bb92d9a946 BLI BVHTree Walk DFS: Decreases the size of the stack space used for the recursive function.
Each parameter of the function is copied into the memory stack.
This also brought an improvement in peformance of snapping functions between 5% and 12% in my tests.
2018-04-24 09:48:14 -03:00
Stefan Werner
f1e6838376 Build: Added explicit search for Blosc in CMake files. Unix build will now disable WITH_OPENVDB_BLOSC if Blosc libraries cannot be found. 2018-04-24 13:26:54 +02:00
Stefan Werner
0ab30f9e39 Build deps: Fixed TBB build with GCC 6 and newer, turning off dead store elimination. 2018-04-24 13:23:52 +02:00
Stefan Werner
dac8b08f4c Build deps: Fixed capitalisation of CMake modules path for OpenVDB. Before, OpenVDB would always build without BLOSC and TBB support on case-sensitive file systems. 2018-04-24 10:28:38 +02:00
92f36586e3 BLI_math: avoid assert with non-finite numbers 2018-04-23 21:09:01 +02:00
53d69e6d04 Depsgraph: Add relation flag to avoid flush across it
This way we can avoid re-evaluation of certain parts of datablock
when something unrelated has changed.
2018-04-23 16:42:37 +02:00
0ca7a78f20 Depsgraph: Fix missing update with animated curve path 2018-04-23 14:53:54 +02:00
41cf2d9042 Depsgraph: Cleanup, remove unused relation tag 2018-04-23 14:34:56 +02:00
b14979f91f Cleanup: style 2018-04-23 12:53:45 +02:00
8264b772f5 Fix T54766: "Record With"-NLA "Push Down" discards Blend Mode, Extrapolation, and Influence
Applied similar fix to T54233 to get the "Record with NLA" feature working with
active action blending + influence settings. Extrapolation is explicitly ignored
though, as it shouldn't be used with this feature (i.e. it is already disabled
with the new strips and also on the animdata by default)
2018-04-23 12:35:37 +02:00
fa7e19bca4 Depsgraph: Add missing relations builder
Was possible to miss some relations from being built
when parent object is linked to the scene graph indirectly.
2018-04-23 09:33:33 +02:00
89ab591345 Cleanup: UI naming 2018-04-22 19:22:10 +02:00
420e379e99 Cleanup: de-dup popup/pie menu RNA definition
Also rename pupmenu -> popmenu
2018-04-22 10:49:45 +02:00
46a9038f60 Cleanup: variable naming 2018-04-21 20:22:12 +02:00
1e9fb355bf BLI_bitmap: 2D triangle drawing function
Matching polygon filling but no need for allocation or qsort.
2018-04-21 18:34:34 +02:00
83cb387944 BLI math: clamped barycentric weight calculation 2018-04-21 18:34:20 +02:00
26ee70099a Fix: D3160 fixed blednerplayer stub.s for unix 2018-04-20 23:34:54 +02:00
e5bb234f64 Cleanup (followup commit for D3160)
Added some spaces to keep the eInsertKeyFlags enumeration proper
2018-04-20 15:09:56 +02:00
ff839fb6c1 Fix: D3160 Propose to use proper typedefs to avoid confusion
Differential Revision: https://developer.blender.org/D3160
2018-04-20 15:02:11 +02:00
ac8f6413cc Fix usage of lib filepath in previous own commit... 2018-04-20 11:00:12 +02:00
88bbb68ad0 Add debug tool to check validity of current file *before* saving.
It is hidden behind the --debug-io flag for now.

Idea is to try to catch broken libraries state in current Main before we
actually write the file on disk, should help catching and understanding
what happens in Spring corruption cases.
2018-04-20 10:46:59 +02:00
dda7e3b695 VSE Effects: Wipe box: fix compilation errors
This is still broken I cant tell if it is the fact that the in_band
funtion does not work properally or an issue in the box algorithm, or
both.

It seems like the calculation of the size of the box while roatated
needs to be fixed also.
2018-04-19 18:44:56 -04:00
e2678d6b7b Cleanup: make variable name English 2018-04-19 18:10:51 +02:00
307492c2db Cleanup: rename vlak -> poly 2018-04-19 18:08:55 +02:00
da82269c58 Cleanup: rename Icon.type -> id_type
Confusing when adding non-id icons.
2018-04-19 12:52:32 +02:00
63225d7c8b Port particle instance modifier changes from Gooseberry branch
The work is mainly from Lukas Toenne, with some modifications from myself.

Includes following obvious changes:

- Particle system selection is now name-based, with lookup menu.
- Lots of new options to control varieties.

Changes comparing to the Gooseberry branch:

- Default values and versioning code ensures same behavior as the
  old modifier.

- Custom data layers are coming from vertex color, the modifier
  does not create arbitrary layers now. The hope is to keep data
  more manageable, and maybe make it easier to select in the shader
  later on.

  This means, values are quantized to 256 values, but it should be
  enough to get varieties in practice.

Reviewers: brecht, campbellbarton

Reviewed By: brecht

Subscribers: eyecandy

Differential Revision: https://developer.blender.org/D3157
2018-04-19 10:51:18 +02:00
fcac9e8410 Cleanup: style 2018-04-19 08:18:16 +02:00
9f7f6d5540 Undo: add missing flag for text delete 2018-04-19 08:16:37 +02:00
f28aec17e9 Depsgraph: Fix missinf relation for particle instance modifier
Was causing lack of animation update when particle system had simulation,
2018-04-18 13:54:02 +02:00
3811998177 Cleanup: Trailing whitespace 2018-04-18 12:31:26 +02:00
287d1924fa Remove irrelevant print statement
This statement is only relevant in 2.8, but causes confusion in master.
I kept the 'default' label to prevent compiler warnings about unhandled
cases. The break is needed because there should be at least one statement
after 'default'.
2018-04-18 12:26:40 +02:00
0afe103269 Particles: Interpolate size for interpolated children
This finally allows us to use Random factor to add variations to the
interpolated children. This feature never worked since 2007L there was
random factor slider in the interface, but it was only used by simple
children. Now it has affect on interpolated children as well.

Technically, this will break compatibility if older file had random
factor set to something else than 0 (default value is 0 though). But
we are leaving 2.7 series, so can accept such breackage in the name
of supported features.
2018-04-18 10:52:27 +02:00
Julian Eisel
bc9e05599d Fix makesdna not respecting C++ comments
Tab after C++ comment broke parsing and didn't remove the line at all.
Was there since 2002 at least, probably confused some peeps.

This means commented out code was actually written to SDNA.
2018-04-18 00:29:53 +02:00
Dalai Felinto
a0ef147f29 bpy consistency fix handler_add(handle)
This doesn't change the API, so it doesn't affect any script.
However it give more consistent error messages.
2018-04-17 12:29:40 +02:00
Dalai Felinto
c558d8fa7c bpy blf api example update
With changes from Campbell Barton as well.
2018-04-17 12:25:51 +02:00
aff71a7fdc Fix (unreported) RNA sometimes trying to get named sub-props from non-Group IDProp.
Why exactly this happens remains unclear, found that in the
autumn.blenrig file of Spring production while working on static
overrides... Tons of ugly IDProps in that rig. xD
2018-04-17 11:59:14 +02:00
eb6fe5fa94 Cleanup: indentation 2018-04-16 18:13:48 +02:00
95eb9f22e6 Cleanup: indentation 2018-04-16 17:16:29 +02:00
85de548e03 Cleanup: indentation 2018-04-16 17:08:27 +02:00
141f0f4c47 BKE_context: macro to access ID's while looping 2018-04-16 16:19:16 +02:00
047950db7c Depsgraph: Pull indirect relations via driver targets 2018-04-16 16:12:15 +02:00
6617818c7a Make ID icons safe for deletion from threads
Added a lock-free deferred queue for deletion. Now if ID icon
is requested to be freed from non-main thread, it will be added
to the deferred list. Actual deletion will happen later from main
thread.

Currently actual deletion only happens next time BKE_icon_id_delete()
is called, which might not be enough. But it's easy to enforce
deferred deletion.

Icons for preview images are not covered by deferred deletion yet.

Reviewers: mont29

Differential Revision: https://developer.blender.org/D3146
2018-04-16 10:18:43 +02:00
5bfe6126f8 Added lock-free single linked list implementation
Only supports lock-free insertion for now, can not delete element
or traverse the list at the same time.
2018-04-16 10:18:43 +02:00
2720667566 Disable Feature Collada: Tests do not work on unix
The tests as they are now make string comparisons. This only works
on Windows because the reference files look different for different
operating systems because of different number formatting.
The collada tests need a complete rework (wip)
2018-04-16 09:56:59 +02:00
b4e8d33f11 Logging: edits to build on macOS 2018-04-16 07:38:11 +02:00
80f7249d09 Cleanup: skip redundant edit-bone select lookups 2018-04-15 21:46:25 +02:00
447622f717 Pydoc: Fix multiple bpy.type modules 2018-04-15 11:45:25 -04:00
7bccd21afa Cleanup: remove redundant args from ebone picking
Make this match editmesh picking more closely
2018-04-15 12:45:39 +02:00
0f2efce6c5 Cleanup: remove bad casts 2018-04-15 11:57:49 +02:00
c12d976020 Cleanup: ED_armature naming
- Wasn't clear which functions handle edit-bones.
- Mixed both ebone and edit_bone in names.
- Didn't use ED_armature_* prefix for public API.

See P655 to apply to branches.
2018-04-15 11:50:53 +02:00
d0e3fbc06b Cleanup: remove undoing access, minor formatting
Access to undoing state isn't needed,
some text insert code was overly compacted.
2018-04-15 10:48:50 +02:00
fb3528d088 Fix T54593: Py text edits crash (undo regression) 2018-04-15 10:34:41 +02:00
87a9b6ac06 Fix compiler error in Windows 2018-04-15 09:55:42 +02:00
2666e77c22 Fix T54527: Misleading Tooltip on Snap Target Menu 2018-04-14 18:26:27 -04:00
73dfd3d382 Pydocs: Expand bge.contraint docs
Takes information from the manual and dumps it here.
2018-04-14 18:08:32 -04:00
3a10f8e1b1 Cleanup: style 2018-04-14 22:26:12 +02:00
5ab77ab4ee Cleanup: use const for BKE_object args 2018-04-14 14:27:38 +02:00
66d4e9300b Logging: replace 'fwrite' w/ 'write'
We're already buffing output, so use write directly.
2018-04-14 13:59:33 +02:00
1c23b5c6ff Cleanup: rename WriteData struct members.
Relationship between tot/count/buf wasn't clear.

Also use doxy sections.
2018-04-14 13:35:20 +02:00
cbd4a79c6d Undo: refactor memfile writing
- Move static undo variable into 'WriteData',
  'memfile_chunk_add' used arguments in a confusing way,
  sometimes to set/clear static var.

- Replace checks for 'wd->current' with 'wd->use_memfile'
  move memfile vars into 'wd->mem' struct.
2018-04-14 13:03:41 +02:00
2e9b92b5cc Fix T54568: Undo memory de-duplication failed
Error in 651b8fb14e caused de-duplication to fail.
2018-04-14 12:30:14 +02:00
332846b188 Remove editor type selector from File Browser when in 'Operator' mode.
Having that one when opening a file or loading some lib makes absolutely
no sense, and switching that 'temp' editor to some other type can
trigger all kind of funny bugs...

Note that using the shortcuts keys (Shift-F5 etc.) is still possible,
removing those seems a bit more involved. :/
2018-04-13 12:14:50 +02:00
a494df8e38 Fix: Follow up to 16b795cb95
It's not just the Graph Editor that needed this - the NLA also uses similar code
and thus suffers from a similar problem.

(My first commit from the Blender Institute v2.0 - Just testing that everything works)
2018-04-12 15:50:26 +02:00
d213474070 Moved vectorblur code from render to compositor
In preparation of the removal of blender internal render we
moved the vectorblur code that was placed in the render package
(legacy) to the compositor. The compositor is only using this
code even the blender internal renderer did not use the code at
all.
2018-04-12 10:27:38 +02:00
8aa6e4d50b Changed assertion of '..' in file browser entries
The previous assert assumed '..' is always there, which isn't necessarily
true (for example when in the root of an Asset Engine repository).

The new code asserts that if '..' is present it should be the first entry
(rather than forcing the first entry to be '..').
2018-04-11 15:06:42 +02:00
5a3c146652 fix T54549: Vector Transform node in wrong nodeclass
the Vector Transform node was added to the "Vector" category in
nodeitems_builtins.py
but was using the "NODE_CLASS_CONVERTOR" internally (thus using e.g. the
'wrong' theme color)

thanx @dingto for review

Differential Revision: https://developer.blender.org/D3138
2018-04-11 14:14:31 +02:00
c963488b5e Pose Mode: pass object to mode enter/exit
Also add lower level mode exit function
2018-04-11 09:21:01 +02:00
32339a56f1 Cleanup: minor changes to pose-mode switching API
Prepare for multi-object pose mode
2018-04-11 08:53:59 +02:00
f55adabb3e Cleanup: remove unused flag 2018-04-10 20:13:31 +02:00
549d4a55ab Fix transform nearest axis check
Was mixing up global/local coords
2018-04-10 16:14:29 +02:00
5c3857b305 Depsgraph: Build relations for objects linked via pchan constraints
This is similar to previous fix for missing ID nodes, just the original
fix missed this part of change because it looked like it is already
happening.
2018-04-10 11:57:20 +02:00
814f143acf Fix T54423: Messages from RNA_property_editable_info() were not translatable. 2018-04-10 10:24:02 +02:00
bd76c88754 Depsgraph: Flush debug prints
Makes it more reliable to see what was updating last when
crash happens.
2018-04-10 09:54:27 +02:00
16b795cb95 Fix crash in graph editor id remapping
Dopsheet pointer isn't set...?
2018-04-09 21:40:52 -04:00
Julian Eisel
77e9193c23 Fix invalid context when refreshing popups
Patch D2759 by @raa, with minor edits by me.
2018-04-09 19:31:39 +02:00
ec91948dd7 Cleanup: unused variable 2018-04-09 19:01:49 +02:00
Julian Eisel
7213553c84 UI: Clamp scrollbar offset to lower view boundaries
Fixes the "emtpy scrolling" glitch by clamping the scroller offset to
the boundary of the view when it's smaller than the previous.

Fixes T45197. Patch by @januz.

Differential Revision: D1580
2018-04-09 18:55:50 +02:00
26a283deae Use the newer version of the bullet 6dof spring constraint for rigidbody.
The new constraint is slower and not backward compatible, but should
be better, especially in the damping side. The new constraint also
has a different valid range of the damping coefficient, and a limit
implementation that bounces instead of making the object stationary.

Reviewers: sergof

Differential Revision: https://developer.blender.org/D3125
2018-04-09 19:14:35 +03:00
7e39d151d8 Added support for the WEBM/VP9 video codec
WEBM is the codec name, and VP9 is the encoder (the older encoder "VP8"
is less efficient than VP9).

WEBM/VP9 and h.264 both have options to control the file size versus
compression time (e.g. fast but big, or slow and small, for the same
output quality). Since WEBM/VP9 only has three choices, I've chosen to
map those to 3 of the 9 possible choices of h.264:

- BEST → SLOWER
- GOOD → MEDIUM
- REALTIME → SUPERFAST

The VERYSLOW and ULTRAFAST options give very little extra benefit.

Reviewed by: @Severin
2018-04-09 15:27:11 +02:00
39116a4340 Remove commented-out code 2018-04-09 15:26:12 +02:00
f0edb853be Build: fix make deps using system webp/sndio libs. 2018-04-09 15:08:40 +02:00
2872965652 Cleanup: avoid recalculating global center 2018-04-09 12:40:10 +02:00
d6a1a0ebb8 Alphabetically ordered audio and video codecs 2018-04-08 17:52:30 +02:00
245e01c30a Encoding panel clarifications
The encoding panel mentions "None" in a few places, which is confusing.
- "Codec: None" now reads "No Video"
- "Audio Codec: None" now reads "No Audio"
- "Output Quality: None; ..." now reads "Constant Bitrate"

When selecting "No Video" the remaining video encoding options are
hidden, making it even more explicit that there will not be video in the
output file.

The label "Codec" now reads "Video Codec" for symmetry with "Audio
Codec".
2018-04-08 13:46:29 +02:00
e0452cc5a9 Fix edit-mesh select next
Last change introduced error, return would stop looking over candidates.

D3137 by @nBurn
2018-04-07 19:54:59 +02:00
4db3b4da46 Bullet: Fix velocity calculation of new spring constraint
This is a backport of bullet commit: 86ca7dc
2018-04-07 17:37:23 +02:00
d2e1a14a57 Fix Collada: nullptr is a c++11 keyword. Changed to NULL 2018-04-06 13:06:46 +02:00
fe73c12990 Fix Collada: Import of animations for objects with multiple materials
When importing multiple materials for one object,
the imported material animation curves have all been
assigned to the first material in the object.

This fix also improves the console logging whenever the importer
finds a consistency problem with the imported animation data.
2018-04-06 12:42:38 +02:00
4de70da73a Cleanup: style, doxy headers 2018-04-06 10:47:39 +02:00
Julian Eisel
72e5082b67 UI: Add accelerator keys to quit confirmation popup 2018-04-05 19:15:37 +02:00
eb7b701137 Fix error where find-next missed None check
Thanks to @nBurn
2018-04-05 18:48:48 +02:00
58ba5a65bc Cleanup: use string macros to avoid duplicate args 2018-04-05 18:39:23 +02:00
3a864f5ee4 BLI_string_utf8: macros that de-duplicate sizeof arg 2018-04-05 18:37:54 +02:00
9b8a92b874 Depsgraph: Pull indirect dependencies via pchan constraints
Was missing ID looper for pchan constraint.
2018-04-05 18:03:36 +02:00
ea0e2f9bd3 Load metadata from video files and expose via RNA
The MovieSequence and MovieClip classes now have a metadata() function
that exposes the `IDProperty *` holding the video metadata.

Part of: https://developer.blender.org/D2273

Reviewed by: @campbellbarton
2018-04-05 16:50:24 +02:00
6c3110a661 Write the scene render frame range to image/video files
This is useful to create a mapping from the frame range in the video to
frame index in the blend file.

Part of: https://developer.blender.org/D2273

Reviewed by: @campbellbarton
2018-04-05 16:50:24 +02:00
6374d390d3 Write StampData metadata to video files
This is currently only supported by FFmpeg (so not frameserver, AVI RAW,
or AVI JPEG), and only seems to work when using Matroska or Ogg Theora
containers.

Only metadata that doesn't change from frame to frame is written to
video files. This distinction is visible in the UI by looking at the
stamp checkbox tooltips (they either mention "image" or "image/video").

Part of: https://developer.blender.org/D2273

Reviewed by: @campbellbarton
2018-04-05 16:50:23 +02:00
b0a767b85b IMB_metadata improvements
- Metadata handling is now separate from `ImBuf *`, allowing it to be
  used with a generic `IDProperty *`.
- Merged `IMB_metadata_add_field()` and `IMB_metadata_change_field()`
  into a more robust `IMB_metadata_set_field()`. This new function
  doesn't return any status (it now always succeeds, and the previously
  existing return value was never checked anyway).
- Removed `IMB_metadata_del_field()` as it was never actually used
  anywhere.
- Use `IMB_metadata_ensure()` instead of having
  `IMB_metadata_set_field()` create the containing `IDProperty` for
  you.
- Deduplicated function declarations, moved `intern/IMB_metadata.h` out
  of `intern/`. Note that this does mean that we have some extra
  `#include "IMB_metadata.h"` lines now, as the metadata functions are
  no longer declared in `IMB_imbuf.h`.
- Deduplicated function declarations, all metadata-related declarations
  are now in imbuf/IMB_metadata.h.

Part of: https://developer.blender.org/D2273

Reviewed by: @campbellbarton
2018-04-05 16:50:23 +02:00
f0f6c96a92 BLI_string: macros that de-duplicate sizeof arg 2018-04-05 16:44:48 +02:00
ad1ea9a427 Undo: split text undo steps out of the data-block
This moves undo storage into a separate struct which is passed
in from the undo system.
2018-04-05 15:22:33 +02:00
79c3c56894 Undo System: return undo step from undo push init
Also improve logging
2018-04-05 14:11:51 +02:00
1761095abc Logging: use -1 log level to log all levels 2018-04-05 13:55:04 +02:00
cd474b913b ED_undo: use logging 2018-04-05 13:41:52 +02:00
47b6e23271 Fix crash w/ empty text undo operations 2018-04-05 10:01:12 +02:00
Aurel Gruber
ae7b679021 SLIM: disallowing pins to move to places that the SLIM algorithm can't handle. Also, this simplifiey the way we transfer uv coords back to native part. 2017-04-13 16:33:11 +02:00
Aurel Gruber
3cae116704 SLIM: In live Unwrap mode unpinned vertices can now be moved. Also, a single pin also invokes SLIM. That also avoids crashing minimize_stretch when invoked on chart with one pin. 2017-04-13 16:22:49 +02:00
58caf3121e SLIM: reuse LSCM logic for pinning, to fix issue with multiple charts. 2017-03-25 16:55:59 +01:00
183ca1af3f SLIM: move most SLIM integration behind param_* API, reuse more code. 2017-03-25 16:55:24 +01:00
bf2603baf6 SLIM: transfer weights in construction, fix subsurf case. 2017-03-25 16:37:58 +01:00
2e662bbca4 SLIM: use operator history instead of toolsettings for remembering settings. 2017-03-25 16:37:58 +01:00
21bccefd12 SLIM: move code around, no functional changes. 2017-03-25 16:37:33 +01:00
65f32e105f SLIM: match code style. 2017-03-25 14:18:04 +01:00
Aurel Gruber
9fdc5345cd merging master into release 2017-03-23 16:44:22 +01:00
Aurel Gruber
0475c0c41e UV Unwrapping SLIM reducing SLIM iterations per live-unwrap-step to 3, taking care of memory leaks, removing packing when minimizi-stretch with non-fix border 2017-03-16 11:08:02 +01:00
Aurel Gruber
be22fc6720 Merge branch 'live_unwrap' 2017-03-15 16:44:39 +01:00
Aurel Gruber
92d7b4b1c2 merging in master 2017-03-15 16:39:37 +01:00
AurelGruber
c1a242ab58 Merge branch 'slim' into 'master'
Slim

See merge request !3
2017-03-15 15:36:00 +00:00
Aurel Gruber
47e71e8746 taking care of compiler warnings 2017-03-15 16:33:38 +01:00
Aurel Gruber
e4e202cb1c UV Unwrapping SLIM Changing ui parameter names and showing parameters based on method 2017-03-15 16:06:40 +01:00
Aurel Gruber
7b59b53938 UV Unwrapping SLIM adding liveUnwrap with slim 2017-03-15 14:16:13 +01:00
Aurel Gruber
dbe69d982f UV Unwrapping SLIM: small bugfixes and putting char array and not just pointer into toolsettings for vertexgroupname 2017-03-14 09:37:00 +01:00
Aurel Gruber
968f1c0de3 UV Unwrapping SLIM: reordering functino definitions to remove prototypes and cleaning header files 2017-03-14 09:37:00 +01:00
Aurel Gruber
901f02b8ec UV Unwrapping SLIM: removing remainder of old minimize stretch 2017-03-14 09:37:00 +01:00
Aurel Gruber
2a76f4ea7d UV Unwrapping SLIM: space added after if 2017-03-14 09:37:00 +01:00
Aurel Gruber
c9b3e34b9a UV Unwrapping SLIM: minimize_stretch now only affects selected vertices. RESPECTS user defined pins! 2017-03-14 09:37:00 +01:00
Aurel Gruber
f5b51e4c65 UV Unwrapping SLIM: removing unnecessary ui parameters from minimize_stretch_operator 2017-03-14 09:37:00 +01:00
Aurel Gruber
c603ba9e7c UV Unwrapping SLIM: renaming slim_c_interface to slim_capi and renaming contained functions 2017-03-14 09:36:59 +01:00
Aurel Gruber
eef1392c47 UV Unwrapping SLIM: renaming src to intern 2017-03-14 09:36:59 +01:00
Aurel Gruber
c35c83a3ab UV Unwrapping SLIM: adding slim_matrix_transfer.h 2017-03-14 09:36:59 +01:00
Aurel Gruber
732159dcf8 UV Unwrapping SLIM: further refactoring according to discussion on D2530 2017-03-14 09:36:59 +01:00
Aurel Gruber
bccca31bd1 UV Unwrapping SLIM: removing old minimize stretch operator 2017-03-14 09:36:59 +01:00
Aurel Gruber
67ef01a2c3 UV Unwrapping SLIM: respecting source/blender style conventions 2017-03-14 09:36:59 +01:00
Aurel Gruber
118d63712d UV Unwrapping SLIM: removing thesis marker-comments from code 2017-03-14 09:36:59 +01:00
Aurel Gruber
3027e0bdca UV Unwrapping SLIM: adding GPL header comment 2017-03-14 09:36:59 +01:00
Aurel Gruber
99ed9041e0 UV Unwrapping SLIM: renaming another file 2017-03-14 09:36:59 +01:00
Aurel Gruber
ebae2d6aa2 UV Unwrapping SLIM: renaming files and moving headers 2017-03-14 09:36:58 +01:00
Aurel Gruber
5c4eedc91f UV Unwrapping SLIM: renaming intern/SLIM to intern/slim 2017-03-14 09:36:58 +01:00
Aurel Gruber
5681b886a0 UV Unwrapping SLIM: refactoring UVInitializer 2017-03-14 09:36:58 +01:00
Aurel Gruber
31dd611003 UV Unwrapping SLIM: adding harmonic and mvc to uvinitializer 2017-03-14 09:36:58 +01:00
Aurel Gruber
95863bbb98 Merge branch 'uv_unwrapping_slim_algorithm' of git.blender.org:blender into uv_unwrapping_slim_algorithm 2017-02-27 14:15:46 +01:00
Aurel Gruber
2f86198cee Implementation of UV unwrapping with SLIM as disdussed on T48036.
commits:

Category: UV Unwrapping SLIM Algorithm Integration

Added SLIM Subfolder

Category: UV Unwrapping SLIM Algorithm Integration

added subfolder SLIM to CMakeFile of /intern

Category: UV Unwrapping SLIM Algorithm Integration

integrating SLIM including data gathering and transfer from Blender to SLIM

This commit is huge, because I copied over the code from a different repository. Not commit-by-commit.

The Algorithm can be invoked either by choosing SLIM from the dropdown in the unwrapping settings or by
hitting ctrl. + m in the uv editor for relaxation. Tried adding it to the menu the same way as minimizing stretch is there but failed.

Category: UV Unwrapping SLIM Algorithm Integration

preserving vertex ids and gathering weights

Category: UV Unwrapping SLIM Algorithm Integration

adding more members to phandle and creating param_begin

Category: UV Unwrapping SLIM Algorithm Integration

fixing bug that causes weight-per-vertex mapping to be wrong

Category: UV Unwrapping SLIM Algorithm Integration

adjustments to the UI parameters

Category: UV Unwrapping SLIM Algorithm Integration

adding weightinfluence

Category: UV Unwrapping SLIM Algorithm Integration

slim interactive exec now only for changing parameters

Category: UV Unwrapping SLIM Algorithm Integration

taking care of memory leaks

Category: UV Unwrapping SLIM Algorithm Integration

adding relative scale, reflection mode and Vertex group input

Category: UV Unwrapping SLIM Algorithm Integration

correcting wrong comment on SLIM phases

Category: UV Unwrapping SLIM Algorithm Integration

Adding SLIM code by means of git read-tree

Category: UV Unwrapping SLIM Algorithm Integration

freeing matrix_transfer properly

Category: UV Unwrapping SLIM Algorithm Integration

adding (unsupported-) eigen files

Reviewers: brecht, sergey

Differential Revision: https://developer.blender.org/D2530
2017-02-27 14:04:24 +01:00
Aurel Gruber
16c6c8a1c4 Category: UV Unwrapping SLIM Algorithm Integration
adding (unsupported-) eigen files
2017-02-24 09:31:38 +01:00
Aurel Gruber
1cb016491a Category: UV Unwrapping SLIM Algorithm Integration
freeing matrix_transfer properly
2017-02-24 09:28:33 +01:00
Aurel Gruber
7e2e77714c Category: UV Unwrapping SLIM Algorithm Integration
Adding SLIM code by means of git read-tree
2017-02-23 16:34:16 +01:00
Aurel Gruber
15785145b1 Category: UV Unwrapping SLIM Algorithm Integration
correcting wrong comment on SLIM phases
2017-02-23 16:34:16 +01:00
Aurel Gruber
26fd7e084f Category: UV Unwrapping SLIM Algorithm Integration
adding relative scale, reflection mode and Vertex group input
2017-02-23 16:34:16 +01:00
Aurel Gruber
88a327d3ed Category: UV Unwrapping SLIM Algorithm Integration
taking care of memory leaks
2017-02-23 16:34:16 +01:00
Aurel Gruber
2bf059ad3b Category: UV Unwrapping SLIM Algorithm Integration
slim interactive exec now only for changing parameters
2017-02-23 16:34:16 +01:00
Aurel Gruber
9c55a8374e Category: UV Unwrapping SLIM Algorithm Integration
adding weightinfluence
2017-02-23 16:34:16 +01:00
Aurel Gruber
1f88850826 Category: UV Unwrapping SLIM Algorithm Integration
adjustments to the UI parameters
2017-02-23 16:34:16 +01:00
Aurel Gruber
9f7c4aa581 Category: UV Unwrapping SLIM Algorithm Integration
fixing bug that causes weight-per-vertex mapping to be wrong
2017-02-23 16:34:16 +01:00
Aurel Gruber
3e184a57c5 Category: UV Unwrapping SLIM Algorithm Integration
adding more members to phandle and creating param_begin
2017-02-23 16:34:16 +01:00
Aurel Gruber
b6ab20876b Category: UV Unwrapping SLIM Algorithm Integration
preserving vertex ids and gathering weights
2017-02-23 16:34:16 +01:00
Aurel Gruber
08d1b312be Category: UV Unwrapping SLIM Algorithm Integration
integrating SLIM including data gathering and transfer from Blender to SLIM

This commit is huge, because I copied over the code from a different repository. Not commit-by-commit.

The Algorithm can be invoked either by choosing SLIM from the dropdown in the unwrapping settings or by
hitting ctrl. + m in the uv editor for relaxation. Tried adding it to the menu the same way as minimizing stretch is there but failed.
2017-02-23 16:34:16 +01:00
Aurel Gruber
5793441a35 Category: UV Unwrapping SLIM Algorithm Integration
added subfolder SLIM to CMakeFile of /intern
2017-02-23 16:34:16 +01:00
Aurel Gruber
979b1b1159 Category: UV Unwrapping SLIM Algorithm Integration
Added SLIM Subfolder
2017-02-23 16:34:16 +01:00
2629 changed files with 126564 additions and 246945 deletions

View File

@@ -1,6 +1,6 @@
{
"project_id" : "Blender",
"conduit_uri" : "https://developer.blender.org/",
"git.default-relative-commit" : "origin/blender2.8",
"git.default-relative-commit" : "origin/master",
"arc.land.update.default" : "rebase"
}

4
.gitmodules vendored
View File

@@ -1,24 +1,20 @@
[submodule "release/scripts/addons"]
path = release/scripts/addons
url = ../blender-addons.git
branch = blender2.8
ignore = all
branch = master
[submodule "release/scripts/addons_contrib"]
path = release/scripts/addons_contrib
url = ../blender-addons-contrib.git
branch = master
ignore = all
branch = master
[submodule "release/datafiles/locale"]
path = release/datafiles/locale
url = ../blender-translations.git
branch = master
ignore = all
branch = master
[submodule "source/tools"]
path = source/tools
url = ../blender-dev-tools.git
branch = master
ignore = all
branch = master

View File

@@ -244,8 +244,6 @@ endif()
option(WITH_PLAYER "Build Player" OFF)
option(WITH_OPENCOLORIO "Enable OpenColorIO color management" ${_init_OPENCOLORIO})
option(WITH_CLAY_ENGINE "Enable Clay engine" ON)
# Compositor
option(WITH_COMPOSITOR "Enable the tile based nodal compositor" ON)
@@ -390,14 +388,10 @@ if(UNIX AND NOT APPLE)
endif()
option(WITH_PYTHON_INSTALL "Copy system python into the blender install folder" ON)
if(WITH_PYTHON_INSTALL OR (WITH_AUDASPACE AND NOT WITH_SYSTEM_AUDASPACE))
set(PYTHON_NUMPY_PATH "" CACHE PATH "Path to python site-packages or dist-packages containing 'numpy' module")
mark_as_advanced(PYTHON_NUMPY_PATH)
set(PYTHON_NUMPY_INCLUDE_DIRS ${PYTHON_NUMPY_PATH}/numpy/core/include CACHE PATH "Path to the include directory of the numpy module")
mark_as_advanced(PYTHON_NUMPY_INCLUDE_DIRS)
endif()
if(WITH_PYTHON_INSTALL)
option(WITH_PYTHON_INSTALL_NUMPY "Copy system numpy into the blender install folder" ON)
set(PYTHON_NUMPY_PATH "" CACHE PATH "Path to python site-packages or dist-packages containing 'numpy' module")
mark_as_advanced(PYTHON_NUMPY_PATH)
if(UNIX AND NOT APPLE)
option(WITH_PYTHON_INSTALL_REQUESTS "Copy system requests into the blender install folder" ON)
@@ -478,16 +472,28 @@ endif()
# OpenGL
option(WITH_GLEW_MX "Support multiple GLEW contexts (experimental)" OFF )
option(WITH_GLEW_ES "Switches to experimental copy of GLEW that has support for OpenGL ES. (temporary option for development purposes)" OFF)
option(WITH_GL_EGL "Use the EGL OpenGL system library instead of the platform specific OpenGL system library (CGL, glX, or WGL)" OFF)
option(WITH_GL_PROFILE_COMPAT "Support using the OpenGL 'compatibility' profile. (deprecated)" ON )
option(WITH_GL_PROFILE_CORE "Support using the OpenGL 3.2+ 'core' profile." OFF)
option(WITH_GL_PROFILE_ES20 "Support using OpenGL ES 2.0. (thru either EGL or the AGL/WGL/XGL 'es20' profile)" OFF)
mark_as_advanced(
WITH_GLEW_MX
WITH_GLEW_ES
WITH_GL_EGL
WITH_GL_PROFILE_COMPAT
WITH_GL_PROFILE_CORE
WITH_GL_PROFILE_ES20
)
if(WITH_GL_PROFILE_COMPAT)
set(WITH_GLU ON)
else()
set(WITH_GLU OFF)
endif()
if(WIN32)
option(WITH_GL_ANGLE "Link with the ANGLE library, an OpenGL ES 2.0 implementation based on Direct3D, instead of the system OpenGL library." OFF)
mark_as_advanced(WITH_GL_ANGLE)
@@ -513,10 +519,11 @@ if(APPLE)
set(WITH_CXX11 ON)
elseif(CMAKE_COMPILER_IS_GNUCC AND (NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "6.0") AND (NOT WITH_CXX11))
set(_c11_init ON)
set(_cxx11_init ON)
else()
set(_c11_init OFF)
set(_cxx11_init OFF)
endif()
set(_cxx11_init ON)
option(WITH_C11 "Build with C11 standard enabled, for development use only!" ${_c11_init})
mark_as_advanced(WITH_C11)
@@ -529,6 +536,10 @@ if(CMAKE_COMPILER_IS_GNUCC)
mark_as_advanced(WITH_LINKER_GOLD)
endif()
# Dependency graph
option(WITH_LEGACY_DEPSGRAPH "Build Blender with legacy dependency graph" ON)
mark_as_advanced(WITH_LEGACY_DEPSGRAPH)
if(WIN32)
# Use hardcoded paths or find_package to find externals
option(WITH_WINDOWS_FIND_MODULES "Use find_package to locate libraries" OFF)
@@ -591,12 +602,6 @@ if(NOT WITH_GAMEENGINE AND WITH_PLAYER)
message(FATAL_ERROR "WITH_PLAYER requires WITH_GAMEENGINE")
endif()
if(NOT WITH_CXX11)
if(WITH_AUDASPACE AND NOT WITH_SYSTEM_AUDASPACE)
message(FATAL_ERROR "WITH_AUDASPACE requires WITH_CXX11")
endif()
endif()
if(NOT WITH_AUDASPACE)
if(WITH_OPENAL)
message(FATAL_ERROR "WITH_OPENAL requires WITH_AUDASPACE")
@@ -645,10 +650,15 @@ if(NOT WITH_BOOST)
endmacro()
set_and_warn(WITH_CYCLES OFF)
set_and_warn(WITH_AUDASPACE OFF)
set_and_warn(WITH_INTERNATIONAL OFF)
set_and_warn(WITH_OPENVDB OFF)
set_and_warn(WITH_OPENCOLORIO OFF)
elseif(WITH_CYCLES OR WITH_OPENIMAGEIO OR WITH_INTERNATIONAL OR
set_and_warn(WITH_OPENAL OFF) # depends on AUDASPACE
set_and_warn(WITH_GAMEENGINE OFF) # depends on AUDASPACE
set_and_warn(WITH_PLAYER OFF) # depends on GAMEENGINE
elseif(WITH_CYCLES OR WITH_OPENIMAGEIO OR WITH_AUDASPACE OR WITH_INTERNATIONAL OR
WITH_OPENVDB OR WITH_OPENCOLORIO)
# Keep enabled
else()
@@ -717,9 +727,30 @@ TEST_SHARED_PTR_SUPPORT()
TEST_UNORDERED_MAP_SUPPORT()
if(WITH_AUDASPACE)
if(NOT WITH_SYSTEM_AUDASPACE)
set(AUDASPACE_C_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/extern/audaspace/bindings/C" "${CMAKE_BINARY_DIR}/extern/audaspace")
set(AUDASPACE_PY_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/extern/audaspace/bindings")
if(WITH_SYSTEM_AUDASPACE)
set(AUDASPACE_DEFINITIONS
-DWITH_AUDASPACE
-DWITH_SYSTEM_AUDASPACE
"-DAUD_DEVICE_H=<AUD_Device.h>"
"-DAUD_SPECIAL_H=<AUD_Special.h>"
"-DAUD_SOUND_H=<AUD_Sound.h>"
"-DAUD_HANDLE_H=<AUD_Handle.h>"
"-DAUD_SEQUENCE_H=<AUD_Sequence.h>"
"-DAUD_TYPES_H=<AUD_Types.h>"
"-DAUD_PYTHON_H=<python/PyAPI.h>"
)
else()
set(AUDASPACE_C_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/intern/audaspace/intern")
set(AUDASPACE_PY_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/intern/audaspace/intern")
set(AUDASPACE_DEFINITIONS
-DWITH_AUDASPACE
"-DAUD_DEVICE_H=<AUD_C-API.h>"
"-DAUD_SPECIAL_H=<AUD_C-API.h>"
"-DAUD_SOUND_H=<AUD_C-API.h>"
"-DAUD_HANDLE_H=<AUD_C-API.h>"
"-DAUD_SEQUENCE_H=<AUD_C-API.h>"
"-DAUD_TYPES_H=<AUD_Space.h>"
)
endif()
endif()
@@ -972,11 +1003,19 @@ endif()
find_package(OpenGL)
blender_include_dirs_sys("${OPENGL_INCLUDE_DIR}")
if(WITH_GLU)
list(APPEND BLENDER_GL_LIBRARIES "${OPENGL_glu_LIBRARY}")
list(APPEND GL_DEFINITIONS -DWITH_GLU)
endif()
if(WITH_SYSTEM_GLES)
find_package_wrapper(OpenGLES)
endif()
if(WITH_GL_PROFILE_ES20)
if(WITH_GL_PROFILE_COMPAT OR WITH_GL_PROFILE_CORE)
list(APPEND BLENDER_GL_LIBRARIES "${OPENGL_gl_LIBRARY}")
elseif(WITH_GL_PROFILE_ES20)
if(WITH_SYSTEM_GLES)
if(NOT OPENGLES_LIBRARY)
message(FATAL_ERROR
@@ -1036,9 +1075,6 @@ if(WITH_GL_PROFILE_ES20)
endif()
else()
list(APPEND BLENDER_GL_LIBRARIES "${OPENGL_gl_LIBRARY}")
endif()
if(WITH_GL_EGL)
@@ -1086,10 +1122,16 @@ if(WITH_GL_EGL)
endif()
if(WITH_GL_PROFILE_COMPAT)
list(APPEND GL_DEFINITIONS -DWITH_GL_PROFILE_COMPAT)
endif()
if(WITH_GL_PROFILE_CORE)
list(APPEND GL_DEFINITIONS -DWITH_GL_PROFILE_CORE)
endif()
if(WITH_GL_PROFILE_ES20)
list(APPEND GL_DEFINITIONS -DWITH_GL_PROFILE_ES20)
else()
list(APPEND GL_DEFINITIONS -DWITH_GL_PROFILE_CORE)
endif()
if(WITH_GL_EGL)
@@ -1126,6 +1168,10 @@ endif()
#-----------------------------------------------------------------------------
# Configure GLEW
if(WITH_GLEW_MX)
list(APPEND GL_DEFINITIONS -DWITH_GLEW_MX)
endif()
if(WITH_SYSTEM_GLEW)
find_package(GLEW)
@@ -1135,7 +1181,11 @@ if(WITH_SYSTEM_GLEW)
message(FATAL_ERROR "GLEW is required to build Blender. Install it or disable WITH_SYSTEM_GLEW.")
endif()
set(BLENDER_GLEW_LIBRARIES ${GLEW_LIBRARY})
if(WITH_GLEW_MX)
set(BLENDER_GLEW_LIBRARIES ${GLEW_MX_LIBRARY})
else()
set(BLENDER_GLEW_LIBRARIES ${GLEW_LIBRARY})
endif()
else()
if(WITH_GLEW_ES)
set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew-es/include")
@@ -1143,11 +1193,12 @@ else()
list(APPEND GL_DEFINITIONS -DGLEW_STATIC -DWITH_GLEW_ES)
# These definitions remove APIs from glew.h, making GLEW smaller, and catching unguarded API usage
if(WITH_GL_PROFILE_ES20)
list(APPEND GL_DEFINITIONS -DGLEW_ES_ONLY)
else()
if(NOT WITH_GL_PROFILE_ES20)
# No ES functions are needed
list(APPEND GL_DEFINITIONS -DGLEW_NO_ES)
elseif(NOT (WITH_GL_PROFILE_CORE OR WITH_GL_PROFILE_COMPAT))
# ES is enabled, but the other functions are all disabled
list(APPEND GL_DEFINITIONS -DGLEW_ES_ONLY)
endif()
if(WITH_GL_PROFILE_ES20)
@@ -1184,7 +1235,9 @@ else()
endif()
list(APPEND GL_DEFINITIONS -DGLEW_NO_GLU)
if(NOT WITH_GLU)
list(APPEND GL_DEFINITIONS -DGLEW_NO_GLU)
endif()
#-----------------------------------------------------------------------------
# Configure Bullet
@@ -1490,15 +1543,10 @@ if(WITH_PYTHON)
)
endif()
if(WIN32)
if(WIN32 OR APPLE)
# pass, we have this in an archive to extract
elseif((WITH_PYTHON_INSTALL AND WITH_PYTHON_INSTALL_NUMPY) OR (WITH_AUDASPACE AND NOT WITH_SYSTEM_AUDASPACE))
if(("${PYTHON_NUMPY_PATH}" STREQUAL "") OR (${PYTHON_NUMPY_PATH} MATCHES NOTFOUND))
find_python_package(numpy)
unset(PYTHON_NUMPY_INCLUDE_DIRS CACHE)
set(PYTHON_NUMPY_INCLUDE_DIRS ${PYTHON_NUMPY_PATH}/numpy/core/include CACHE PATH "Path to the include directory of the numpy module")
mark_as_advanced(PYTHON_NUMPY_INCLUDE_DIRS)
endif()
elseif(WITH_PYTHON_INSTALL AND WITH_PYTHON_INSTALL_NUMPY)
find_python_package(numpy)
endif()
if(WIN32 OR APPLE)
@@ -1735,7 +1783,10 @@ if(FIRST_RUN)
info_cfg_text("OpenGL:")
info_cfg_option(WITH_GLEW_ES)
info_cfg_option(WITH_GLU)
info_cfg_option(WITH_GL_EGL)
info_cfg_option(WITH_GL_PROFILE_COMPAT)
info_cfg_option(WITH_GL_PROFILE_CORE)
info_cfg_option(WITH_GL_PROFILE_ES20)
if(WIN32)
info_cfg_option(WITH_GL_ANGLE)

View File

@@ -424,7 +424,7 @@ icons: .FORCE
"$(BLENDER_DIR)/release/datafiles/prvicons_update.py"
update: .FORCE
if [ "$(OS_NCASE)" == "darwin" ] && [ ! -d "../lib/$(OS_NCASE)" ]; then \
if [ "$(OS_NCASE)" = "darwin" ] && [ ! -d "../lib/$(OS_NCASE)" ]; then \
svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/$(OS_NCASE) ../lib/$(OS_NCASE) ; \
fi
if [ -d "../lib" ]; then \

View File

@@ -25,6 +25,7 @@ if(BUILD_MODE STREQUAL Release)
-DALSOFT_CONFIG=Off
-DALSOFT_HRTF_DEFS=Off
-DALSOFT_INSTALL=On
-DALSOFT_BACKEND_SNDIO=Off
)
if(UNIX)

View File

@@ -90,6 +90,7 @@ set(OPENIMAGEIO_EXTRA_ARGS
-DUSE_PYTHON=OFF
-DUSE_PYTHON3=OFF
-DUSE_OCIO=OFF
-DUSE_WEBP=${WITH_WEBP}
-DOIIO_BUILD_TOOLS=${OIIO_TOOLS}
-DOIIO_BUILD_TESTS=OFF
-DBUILD_TESTING=OFF

View File

@@ -25,7 +25,7 @@
ARGS=$( \
getopt \
-o s:i:t:h \
--long source:,install:,tmp:,info:,threads:,help,show-deps,no-sudo,no-build,no-confirm,\
--long source:,install:,tmp:,info:,threads:,help,show-deps,no-sudo,no-build,no-confirm,use-cxx11,\
with-all,with-opencollada,with-jack,\
ver-ocio:,ver-oiio:,ver-llvm:,ver-osl:,ver-osd:,ver-openvdb:,\
force-all,force-python,force-numpy,force-boost,\
@@ -104,6 +104,11 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
--no-confirm
Disable any interaction with user (suitable for automated run).
--use-cxx11
Build all libraries in cpp11 'mode' (will be mandatory soon in blender2.8 branch).
NOTE: If your compiler is gcc-6.0 or above, you probably *want* to enable this option (since it's default
standard starting from this version).
--with-all
By default, a number of optional and not-so-often needed libraries are not installed.
This option will try to install them, at the cost of potential conflicts (depending on
@@ -285,7 +290,7 @@ SUDO="sudo"
NO_BUILD=false
NO_CONFIRM=false
USE_CXX11=true # Mandatory in blender2.8
USE_CXX11=false
PYTHON_VERSION="3.6.2"
PYTHON_VERSION_MIN="3.6"
@@ -496,6 +501,9 @@ while true; do
--no-confirm)
NO_CONFIRM=true; shift; continue
;;
--use-cxx11)
USE_CXX11=true; shift; continue
;;
--with-all)
WITH_ALL=true; shift; continue
;;
@@ -796,7 +804,7 @@ FFMPEG_SOURCE=( "http://ffmpeg.org/releases/ffmpeg-$FFMPEG_VERSION.tar.bz2" )
CXXFLAGS_BACK=$CXXFLAGS
if [ "$USE_CXX11" = true ]; then
WARNING "C++11 is now mandatory for blender2.8, this *should* go smoothly with any very recent distribution.
WARNING "You are trying to use c++11, this *should* go smoothely with any very recent distribution
However, if you are experiencing linking errors (also when building Blender itself), please try the following:
* Re-run this script with '--build-all --force-all' options.
* Ensure your gcc version is at the very least 4.8, if possible you should really rather use gcc-5.1 or above.
@@ -2677,10 +2685,10 @@ install_DEB() {
install_packages_DEB $_packages
PRINT""
LIBSNDFILE_DEV="libsndfile1-dev"
check_package_DEB $LIBSNDFILE_DEV
SNDFILE_DEV="libsndfile1-dev"
check_package_DEB $SNDFILE_DEV
if [ $? -eq 0 ]; then
install_packages_DEB $LIBSNDFILE_DEV
install_packages_DEB $SNDFILE_DEV
fi
PRINT ""
@@ -3275,10 +3283,10 @@ install_RPM() {
fi
PRINT""
LIBSNDFILE_DEV="libsndfile-devel"
check_package_RPM $LIBSNDFILE_DEV
SNDFILE_DEV="libsndfile-devel"
check_package_RPM $SNDFILE_DEV
if [ $? -eq 0 ]; then
install_packages_RPM $LIBSNDFILE_DEV
install_packages_RPM $SNDFILE_DEV
fi
if [ "$WITH_ALL" = true ]; then
@@ -3682,10 +3690,10 @@ install_ARCH() {
install_packages_ARCH $_packages
PRINT""
LIBSNDFILE_DEV="libsndfile"
check_package_ARCH $LIBSNDFILE_DEV
SNDFILE_DEV="libsndfile"
check_package_ARCH $SNDFILE_DEV
if [ $? -eq 0 ]; then
install_packages_ARCH $LIBSNDFILE_DEV
install_packages_ARCH $SNDFILE_DEV
fi
PRINT ""

View File

@@ -8,7 +8,7 @@ project(OpenVDB)
# --------------------------------------------------------------------------------
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules")
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
# --------------------------------------------------------------------------------

View File

@@ -88,6 +88,14 @@ elseif(WIN32)
set(DISABLE_RTTI "/EHs- /GR- ")
endif()
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
include(CheckCXXCompilerFlag)
check_cxx_compiler_flag("-flifetime-dse=1" SUPPORTS_FLIFETIME)
if (SUPPORTS_FLIFETIME)
add_definitions(-flifetime-dse=1)
endif()
endif()
# Linker export definitions
if (WIN32)
add_custom_command(OUTPUT tbb.def

View File

@@ -74,7 +74,7 @@ set(SNDFILE_LIBRARY "/usr/lib${MULTILIB}/libsndfile.a;/usr/lib${MULTILI
# OpenAL libraries
set(OPENAL_ROOT_DIR "/opt/lib/openal" CACHE STRING "" FORCE)
set(OPENAL_INCLUDE_DIR "${OPENAL_ROOT_DIR}/include/AL" CACHE STRING "" FORCE)
set(OPENAL_INCLUDE_DIR "${OPENAL_ROOT_DIR}/include" CACHE STRING "" FORCE)
set(OPENAL_LIBRARY
${OPENAL_ROOT_DIR}/lib/libopenal.a
${OPENAL_ROOT_DIR}/lib/libcommon.a
@@ -140,6 +140,10 @@ set(ZLIB_LIBRARY "/usr/lib${MULTILIB}/libz.a" CACHE STRING "" FORCE)
# OpenVDB
set(OPENVDB_LIBRARY
/opt/lib/openvdb/lib/libopenvdb.a
CACHE BOOL "" FORCE
)
set(BLOSC_LIBRARY
/opt/lib/blosc/lib/libblosc.a
CACHE BOOL "" FORCE
)

View File

@@ -0,0 +1,72 @@
# - Find Blosc library
# Find the native Blosc includes and library
# This module defines
# BLOSC_INCLUDE_DIRS, where to find blosc.h, Set when
# Blosc is found.
# BLOSC_LIBRARIES, libraries to link against to use Blosc.
# BLOSC_ROOT_DIR, The base directory to search for Blosc.
# This can also be an environment variable.
# BLOSC_FOUND, If false, do not try to use Blosc.
#
# also defined, but not for general use are
# BLOSC_LIBRARY, where to find the Blosc library.
#=============================================================================
# Copyright 2018 Blender Foundation.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# If BLOSC_ROOT_DIR was defined in the environment, use it.
IF(NOT BLOSC_ROOT_DIR AND NOT $ENV{BLOSC_ROOT_DIR} STREQUAL "")
SET(BLOSC_ROOT_DIR $ENV{BLOSC_ROOT_DIR})
ENDIF()
SET(_blosc_SEARCH_DIRS
${BLOSC_ROOT_DIR}
/usr/local
/sw # Fink
/opt/local # DarwinPorts
/opt/lib/blosc
)
FIND_PATH(BLOSC_INCLUDE_DIR
NAMES
blosc.h
HINTS
${_blosc_SEARCH_DIRS}
PATH_SUFFIXES
include
)
FIND_LIBRARY(BLOSC_LIBRARY
NAMES
blosc
HINTS
${_blosc_SEARCH_DIRS}
PATH_SUFFIXES
lib64 lib
)
# handle the QUIETLY and REQUIRED arguments and set BLOSC_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(BLOSC DEFAULT_MSG
BLOSC_LIBRARY BLOSC_INCLUDE_DIR)
IF(BLOSC_FOUND)
SET(BLOSC_LIBRARIES ${BLOSC_LIBRARY})
SET(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIR})
ELSE()
SET(BLOSC_BLOSC_FOUND FALSE)
ENDIF()
MARK_AS_ADVANCED(
BLOSC_INCLUDE_DIR
BLOSC_LIBRARY
)

View File

@@ -9,6 +9,7 @@
#
# also defined,
# GLEW_LIBRARY, where to find the Glew library.
# GLEW_MX_LIBRARY, where to find the GlewMX library.
#=============================================================================
# Copyright 2014 Blender Foundation.
@@ -49,6 +50,16 @@ FIND_LIBRARY(GLEW_LIBRARY
lib64 lib
)
FIND_LIBRARY(GLEW_MX_LIBRARY
NAMES
GLEWmx
HINTS
${_glew_SEARCH_DIRS}
PATH_SUFFIXES
lib64 lib
)
# handle the QUIETLY and REQUIRED arguments and set GLEW_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
@@ -62,6 +73,7 @@ ENDIF(GLEW_FOUND)
MARK_AS_ADVANCED(
GLEW_INCLUDE_DIR
GLEW_LIBRARY
GLEW_MX_LIBRARY
)
UNSET(_glew_SEARCH_DIRS)

View File

@@ -1,15 +1,15 @@
# - Find SndFile library
# Find the native SndFile includes and library
# This module defines
# LIBSNDFILE_INCLUDE_DIRS, where to find sndfile.h, Set when
# LIBSNDFILE_INCLUDE_DIR is found.
# LIBSNDFILE_LIBRARIES, libraries to link against to use SndFile.
# LIBSNDFILE_ROOT_DIR, The base directory to search for SndFile.
# SNDFILE_INCLUDE_DIRS, where to find sndfile.h, Set when
# SNDFILE_INCLUDE_DIR is found.
# SNDFILE_LIBRARIES, libraries to link against to use SndFile.
# SNDFILE_ROOT_DIR, The base directory to search for SndFile.
# This can also be an environment variable.
# LIBSNDFILE_FOUND, If false, do not try to use SndFile.
# SNDFILE_FOUND, If false, do not try to use SndFile.
#
# also defined, but not for general use are
# LIBSNDFILE_LIBRARY, where to find the SndFile library.
# SNDFILE_LIBRARY, where to find the SndFile library.
#=============================================================================
# Copyright 2011 Blender Foundation.
@@ -22,26 +22,26 @@
# See the License for more information.
#=============================================================================
# If LIBSNDFILE_ROOT_DIR was defined in the environment, use it.
IF(NOT LIBSNDFILE_ROOT_DIR AND NOT $ENV{LIBSNDFILE_ROOT_DIR} STREQUAL "")
SET(LIBSNDFILE_ROOT_DIR $ENV{LIBSNDFILE_ROOT_DIR})
# If SNDFILE_ROOT_DIR was defined in the environment, use it.
IF(NOT SNDFILE_ROOT_DIR AND NOT $ENV{SNDFILE_ROOT_DIR} STREQUAL "")
SET(SNDFILE_ROOT_DIR $ENV{SNDFILE_ROOT_DIR})
ENDIF()
SET(_sndfile_SEARCH_DIRS
${LIBSNDFILE_ROOT_DIR}
${SNDFILE_ROOT_DIR}
/usr/local
/sw # Fink
/opt/local # DarwinPorts
)
FIND_PATH(LIBSNDFILE_INCLUDE_DIR sndfile.h
FIND_PATH(SNDFILE_INCLUDE_DIR sndfile.h
HINTS
${_sndfile_SEARCH_DIRS}
PATH_SUFFIXES
include
)
FIND_LIBRARY(LIBSNDFILE_LIBRARY
FIND_LIBRARY(SNDFILE_LIBRARY
NAMES
sndfile
HINTS
@@ -50,18 +50,18 @@ FIND_LIBRARY(LIBSNDFILE_LIBRARY
lib64 lib
)
# handle the QUIETLY and REQUIRED arguments and set LIBSNDFILE_FOUND to TRUE if
# handle the QUIETLY and REQUIRED arguments and set SNDFILE_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SndFile DEFAULT_MSG
LIBSNDFILE_LIBRARY LIBSNDFILE_INCLUDE_DIR)
SNDFILE_LIBRARY SNDFILE_INCLUDE_DIR)
IF(LIBSNDFILE_FOUND)
SET(LIBSNDFILE_LIBRARIES ${LIBSNDFILE_LIBRARY})
SET(LIBSNDFILE_INCLUDE_DIRS ${LIBSNDFILE_INCLUDE_DIR})
ENDIF(LIBSNDFILE_FOUND)
IF(SNDFILE_FOUND)
SET(SNDFILE_LIBRARIES ${SNDFILE_LIBRARY})
SET(SNDFILE_INCLUDE_DIRS ${SNDFILE_INCLUDE_DIR})
ENDIF(SNDFILE_FOUND)
MARK_AS_ADVANCED(
LIBSNDFILE_INCLUDE_DIR
LIBSNDFILE_LIBRARY
SNDFILE_INCLUDE_DIR
SNDFILE_LIBRARY
)

View File

@@ -326,7 +326,7 @@ function(SETUP_LIBDIRS)
link_directories(${JACK_LIBPATH})
endif()
if(WITH_CODEC_SNDFILE)
link_directories(${LIBSNDFILE_LIBPATH})
link_directories(${SNDFILE_LIBPATH})
endif()
if(WITH_FFTW3)
link_directories(${FFTW3_LIBPATH})
@@ -407,7 +407,7 @@ function(setup_liblinks
target_link_libraries(${target} ${JACK_LIBRARIES})
endif()
if(WITH_CODEC_SNDFILE)
target_link_libraries(${target} ${LIBSNDFILE_LIBRARIES})
target_link_libraries(${target} ${SNDFILE_LIBRARIES})
endif()
if(WITH_SDL AND NOT WITH_SDL_DYNLOAD)
target_link_libraries(${target} ${SDL_LIBRARY})
@@ -425,7 +425,7 @@ function(setup_liblinks
target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES})
endif()
if(WITH_OPENVDB)
target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${TBB_LIBRARIES})
target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${TBB_LIBRARIES} ${BLOSC_LIBRARIES})
endif()
if(WITH_CYCLES_OSL)
target_link_libraries(${target} ${OSL_LIBRARIES})
@@ -555,12 +555,6 @@ function(SETUP_BLENDER_SORTED_LIBS)
endif()
endif()
if(WITH_AUDASPACE AND NOT WITH_SYSTEM_AUDASPACE)
list(APPEND BLENDER_LINK_LIBS
audaspace
audaspace-py)
endif()
# Sort libraries
set(BLENDER_SORTED_LIBS
bf_windowmanager
@@ -593,7 +587,6 @@ function(SETUP_BLENDER_SORTED_LIBS)
bf_editor_curve
bf_editor_gpencil
bf_editor_interface
bf_editor_manipulator_library
bf_editor_mesh
bf_editor_metaball
bf_editor_object
@@ -601,7 +594,6 @@ function(SETUP_BLENDER_SORTED_LIBS)
bf_editor_armature
bf_editor_physics
bf_editor_render
bf_editor_scene
bf_editor_screen
bf_editor_sculpt_paint
bf_editor_sound
@@ -614,7 +606,6 @@ function(SETUP_BLENDER_SORTED_LIBS)
bf_python
bf_python_ext
bf_python_mathutils
bf_python_gawain
bf_python_bmesh
bf_freestyle
bf_ikplugin
@@ -622,14 +613,11 @@ function(SETUP_BLENDER_SORTED_LIBS)
bf_alembic
bf_bmesh
bf_gpu
bf_draw
bf_blenloader
bf_blenkernel
bf_physics
bf_nodes
bf_rna
bf_editor_manipulator_library # rna -> manipulator bad-level calls
bf_python
bf_imbuf
bf_blenlib
bf_depsgraph
@@ -670,8 +658,6 @@ function(SETUP_BLENDER_SORTED_LIBS)
bf_blenfont
bf_blentranslation
bf_intern_audaspace
audaspace
audaspace-py
bf_intern_mikktspace
bf_intern_dualcon
bf_intern_cycles
@@ -683,7 +669,6 @@ function(SETUP_BLENDER_SORTED_LIBS)
cycles_util
cycles_subd
bf_intern_opencolorio
bf_intern_gawain
bf_intern_eigen
extern_rangetree
extern_wcwidth
@@ -1525,7 +1510,6 @@ function(find_python_package
NAMES
${package}
HINTS
"${PYTHON_LIBPATH}/"
"${PYTHON_LIBPATH}/python${PYTHON_VERSION}/"
"${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/"
PATH_SUFFIXES

View File

@@ -23,8 +23,6 @@
# Libraries configuration for Apple.
set(MACOSX_DEPLOYMENT_TARGET "10.9")
macro(find_package_wrapper)
# do nothing, just satisfy the macro
endmacro()
@@ -45,7 +43,7 @@ if(WITH_OPENAL)
find_package(OpenAL)
if(OPENAL_FOUND)
set(WITH_OPENAL ON)
set(OPENAL_INCLUDE_DIR "${LIBDIR}/openal/include/AL")
set(OPENAL_INCLUDE_DIR "${LIBDIR}/openal/include")
else()
set(WITH_OPENAL OFF)
endif()
@@ -81,10 +79,10 @@ if(WITH_JACK)
endif()
if(WITH_CODEC_SNDFILE)
set(LIBSNDFILE ${LIBDIR}/sndfile)
set(LIBSNDFILE_INCLUDE_DIRS ${LIBSNDFILE}/include)
set(LIBSNDFILE_LIBRARIES sndfile FLAC ogg vorbis vorbisenc)
set(LIBSNDFILE_LIBPATH ${LIBSNDFILE}/lib ${LIBDIR}/ffmpeg/lib) # TODO, deprecate
set(SNDFILE ${LIBDIR}/sndfile)
set(SNDFILE_INCLUDE_DIRS ${SNDFILE}/include)
set(SNDFILE_LIBRARIES sndfile FLAC ogg vorbis vorbisenc)
set(SNDFILE_LIBPATH ${SNDFILE}/lib ${LIBDIR}/ffmpeg/lib) # TODO, deprecate
endif()
if(WITH_PYTHON)

View File

@@ -148,7 +148,7 @@ endif()
# Codecs
if(WITH_CODEC_SNDFILE)
find_package_wrapper(SndFile)
if(NOT LIBSNDFILE_FOUND)
if(NOT SNDFILE_FOUND)
set(WITH_CODEC_SNDFILE OFF)
endif()
endif()
@@ -237,10 +237,14 @@ endif()
if(WITH_OPENVDB)
find_package_wrapper(OpenVDB)
find_package_wrapper(TBB)
find_package_wrapper(Blosc)
if(NOT OPENVDB_FOUND OR NOT TBB_FOUND)
set(WITH_OPENVDB OFF)
set(WITH_OPENVDB_BLOSC OFF)
message(STATUS "OpenVDB not found, disabling it")
elseif(NOT BLOSC_FOUND)
set(WITH_OPENVDB_BLOSC OFF)
message(STATUS "Blosc not found, disabling it")
endif()
endif()

View File

@@ -532,21 +532,22 @@ set(WINTAB_INC ${LIBDIR}/wintab/include)
if(WITH_OPENAL)
set(OPENAL ${LIBDIR}/openal)
set(OPENALDIR ${LIBDIR}/openal)
set(OPENAL_INCLUDE_DIR ${OPENAL}/include/AL)
set(OPENAL_INCLUDE_DIR ${OPENAL}/include)
set(OPENAL_LIBPATH ${OPENAL}/lib)
if(MSVC)
set(OPENAL_LIBRARY ${OPENAL_LIBPATH}/openal32.lib)
else()
set(OPENAL_LIBRARY ${OPENAL_LIBPATH}/wrap_oal.lib)
endif()
endif()
if(WITH_CODEC_SNDFILE)
set(LIBSNDFILE ${LIBDIR}/sndfile)
set(LIBSNDFILE_INCLUDE_DIRS ${LIBSNDFILE}/include)
set(LIBSNDFILE_LIBPATH ${LIBSNDFILE}/lib) # TODO, deprecate
set(LIBSNDFILE_LIBRARIES ${LIBSNDFILE_LIBPATH}/libsndfile-1.lib)
set(SNDFILE ${LIBDIR}/sndfile)
set(SNDFILE_INCLUDE_DIRS ${SNDFILE}/include)
set(SNDFILE_LIBPATH ${SNDFILE}/lib) # TODO, deprecate
set(SNDFILE_LIBRARIES ${SNDFILE_LIBPATH}/libsndfile-1.lib)
endif()
if(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD)

View File

@@ -224,10 +224,6 @@
* \ingroup editors
*/
/** \defgroup edscene scene
* \ingroup editors
*/
/** \defgroup edsculpt sculpt and paint
* \ingroup editors
*/

View File

@@ -2,43 +2,44 @@
Hello World Text Example
++++++++++++++++++++++++
Blender Game Engine example of using the blf module. For this module to work we
Example of using the blf module. For this module to work we
need to use the OpenGL wrapper :class:`~bgl` as well.
"""
# import game engine modules
from bge import render
from bge import logic
# import stand alone modules
import bgl
import blf
import bpy
font_info = {
"font_id": 0,
"handler": None,
}
def init():
"""init function - runs once"""
# create a new font object, use external ttf file
font_path = logic.expandPath('//Zeyada.ttf')
# store the font indice - to use later
logic.font_id = blf.load(font_path)
import os
# Create a new font object, use external ttf file.
font_path = bpy.path.abspath('//Zeyada.ttf')
# Store the font indice - to use later.
if os.path.exists(font_path):
font_info["font_id"] = blf.load(font_path)
else:
# Default font.
font_info["font_id"] = 0
# set the font drawing routine to run every frame
scene = logic.getCurrentScene()
scene.post_draw = [write]
font_info["handler"] = bpy.types.SpaceView3D.draw_handler_add(
draw_callback_px, (None, None), 'WINDOW', 'POST_PIXEL')
def write():
"""write on screen"""
width = render.getWindowWidth()
height = render.getWindowHeight()
# OpenGL setup
bgl.glMatrixMode(bgl.GL_PROJECTION)
bgl.glLoadIdentity()
bgl.gluOrtho2D(0, width, 0, height)
bgl.glMatrixMode(bgl.GL_MODELVIEW)
bgl.glLoadIdentity()
def draw_callback_px(self, context):
"""Draw on the viewports"""
# BLF drawing routine
font_id = logic.font_id
blf.position(font_id, (width * 0.2), (height * 0.3), 0)
font_id = font_info["font_id"]
blf.position(font_id, 2, 80, 0)
blf.size(font_id, 50, 72)
blf.draw(font_id, "Hello World")
if __name__ == '__main__':
init()

View File

@@ -52,7 +52,6 @@ class OffScreenDraw(bpy.types.Operator):
@staticmethod
def _update_offscreen(context, offscreen):
scene = context.scene
render_layer = context.render_layer
render = scene.render
camera = scene.camera
@@ -66,7 +65,6 @@ class OffScreenDraw(bpy.types.Operator):
offscreen.draw_view3d(
scene,
render_layer,
context.space_data,
context.region,
projection_matrix,

View File

@@ -2,12 +2,33 @@
Physics Constraints (bge.constraints)
=====================================
Bullet Physics provides collision detection
and rigid body dynamics for the Blender Game Engine.
Features:
- Vehicle simulation.
- Rigid body constraints: hinge and point to point (ball socket).
- Access to internal physics settings,
like deactivation time, and debugging features
.. module:: bge.constraints
.. note:: Note about parameter settings
Since this API is not well documented, it can be unclear what kind of values to use for setting parameters.
In general, damping settings should be in the range of 0 to 1 and
stiffness settings should not be much higher than about 10.
Examples
--------
.. seealso::
For more examples of Bullet physics and how to use them
see the `pybullet forum <https://pybullet.org/Bullet/phpBB3/viewforum.php?f=17>`__.
.. include:: __/examples/bge.constraints.py
:start-line: 1
:end-line: 4
@@ -333,4 +354,3 @@ Constraint type to be used with :func:`createConstraint`.
.. data:: GENERIC_6DOF_CONSTRAINT
.. to do

View File

@@ -35,4 +35,3 @@ Types
:glob:
bge.types.*

View File

@@ -1,8 +1,6 @@
BL_ActionActuator(SCA_IActuator)
================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: BL_ActionActuator(SCA_IActuator)
@@ -75,4 +73,3 @@ base class --- :class:`SCA_IActuator`
The name of the property that is set to the current frame number.
:type: string

View File

@@ -1,8 +1,6 @@
BL_ArmatureActuator(SCA_IActuator)
==================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: BL_ArmatureActuator(SCA_IActuator)
@@ -58,4 +56,3 @@ base class --- :class:`SCA_IActuator`
The influence this actuator will set on the constraint it controls.
:type: float.

View File

@@ -1,8 +1,6 @@
BL_ArmatureBone(PyObjectPlus)
=============================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: BL_ArmatureBone(PyObjectPlus)

View File

@@ -1,8 +1,6 @@
BL_ArmatureChannel(PyObjectPlus)
================================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: BL_ArmatureChannel(PyObjectPlus)
@@ -275,4 +273,3 @@ base class --- :class:`PyObjectPlus`
.. note::
You can read the result of the calculation in rotation or euler_rotation attributes after setting this attribute.

View File

@@ -1,8 +1,6 @@
BL_ArmatureConstraint(PyObjectPlus)
===================================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: BL_ArmatureConstraint(PyObjectPlus)
@@ -126,4 +124,3 @@ base class --- :class:`PyObjectPlus`
Additional mode for IK constraint. Currently only used for Distance constraint:
:type: integer

View File

@@ -1,8 +1,6 @@
BL_ArmatureObject(KX_GameObject)
================================
.. module:: bge.types
base class --- :class:`KX_GameObject`
.. class:: BL_ArmatureObject(KX_GameObject)
@@ -31,4 +29,3 @@ base class --- :class:`KX_GameObject`
This action is unecessary if a KX_ArmatureActuator with mode run is active
or if an action is playing. Use this function in other cases. It must be called
on each frame to ensure that the armature is updated continously.

View File

@@ -1,8 +1,6 @@
BL_Shader(PyObjectPlus)
=======================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: BL_Shader(PyObjectPlus)
@@ -227,4 +225,3 @@ base class --- :class:`PyObjectPlus`
.. method:: validate()
Validate the shader object.

View File

@@ -1,8 +1,6 @@
BL_ShapeActionActuator(SCA_IActuator)
=====================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: BL_ShapeActionActuator(SCA_IActuator)

View File

@@ -1,8 +1,6 @@
CListValue(CPropValue)
======================
.. module:: bge.types
base class --- :class:`CPropValue`
.. class:: CListValue(CPropValue)
@@ -69,4 +67,3 @@ base class --- :class:`CPropValue`
.. warning::
The id can't be stored as an integer in game object properties, as those only have a limited range that the id may not be contained in. Instead an id can be stored as a string game property and converted back to an integer for use in from_id lookups.

View File

@@ -1,11 +1,8 @@
CPropValue(CValue)
==================
.. module:: bge.types
base class --- :class:`CValue`
.. class:: CPropValue(CValue)
This class has no python functions

View File

@@ -1,8 +1,6 @@
CValue(PyObjectPlus)
====================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: CValue(PyObjectPlus)

View File

@@ -1,8 +1,6 @@
KX_ArmatureSensor(SCA_ISensor)
==============================
.. module:: bge.types
base class --- :class:`SCA_ISensor`
.. class:: KX_ArmatureSensor(SCA_ISensor)

View File

@@ -1,8 +1,6 @@
KX_BlenderMaterial(PyObjectPlus)
================================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: KX_BlenderMaterial(PyObjectPlus)
@@ -182,4 +180,3 @@ base class --- :class:`PyObjectPlus`
:return: the material's index
:rtype: integer

View File

@@ -1,8 +1,6 @@
KX_Camera(KX_GameObject)
========================
.. module:: bge.types
base class --- :class:`KX_GameObject`
.. class:: KX_Camera(KX_GameObject)

View File

@@ -1,8 +1,6 @@
KX_CameraActuator(SCA_IActuator)
================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_CameraActuator(SCA_IActuator)
@@ -44,4 +42,3 @@ base class --- :class:`SCA_IActuator`
the object this actuator tracks.
:type: :class:`KX_GameObject` or None

View File

@@ -1,8 +1,6 @@
KX_CharacterWrapper(PyObjectPlus)
=================================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: KX_CharacterWrapper(PyObjectPlus)
@@ -42,4 +40,3 @@ base class --- :class:`PyObjectPlus`
.. method:: jump()
The character jumps based on it's jump speed.

View File

@@ -1,8 +1,6 @@
KX_ConstraintActuator(SCA_IActuator)
====================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_ConstraintActuator(SCA_IActuator)

View File

@@ -1,8 +1,6 @@
KX_ConstraintWrapper(PyObjectPlus)
==================================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: KX_ConstraintWrapper(PyObjectPlus)
@@ -140,4 +138,3 @@ base class --- :class:`PyObjectPlus`
- :class:`~bge.constraints.CONETWIST_CONSTRAINT`
- :class:`~bge.constraints.VEHICLE_CONSTRAINT`
- :class:`~bge.constraints.GENERIC_6DOF_CONSTRAINT`

View File

@@ -1,8 +1,6 @@
KX_FontObject(KX_GameObject)
============================
.. module:: bge.types
base class --- :class:`KX_GameObject`
.. class:: KX_FontObject(KX_GameObject)
@@ -29,4 +27,3 @@ base class --- :class:`KX_GameObject`
The text displayed by this Font object.
:type: string

View File

@@ -1,8 +1,6 @@
KX_GameActuator(SCA_IActuator)
==============================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_GameActuator(SCA_IActuator)
@@ -20,4 +18,3 @@ base class --- :class:`SCA_IActuator`
The mode of this actuator. Can be on of :ref:`these constants <game-actuator>`
:type: Int

View File

@@ -1,8 +1,6 @@
KX_GameObject(SCA_IObject)
==========================
.. module:: bge.types
base class --- :class:`SCA_IObject`
.. class:: KX_GameObject(SCA_IObject)

View File

@@ -1,8 +1,6 @@
KX_LibLoadStatus(PyObjectPlus)
==============================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: KX_LibLoadStatus(PyObjectPlus)
@@ -48,4 +46,3 @@ base class --- :class:`PyObjectPlus`
The amount of time, in seconds, the lib load took (0 until the operation is complete).
:type: float

View File

@@ -1,8 +1,6 @@
KX_LightObject(KX_GameObject)
=============================
.. module:: bge.types
base class --- :class:`KX_GameObject`
.. class:: KX_LightObject(KX_GameObject)
@@ -161,4 +159,3 @@ base class --- :class:`KX_GameObject`
.. note::
Higher values result in a more focused light source.

View File

@@ -1,8 +1,6 @@
KX_MeshProxy(SCA_IObject)
=========================
.. module:: bge.types
base class --- :class:`SCA_IObject`
.. class:: KX_MeshProxy(SCA_IObject)
@@ -131,4 +129,3 @@ base class --- :class:`SCA_IObject`
:type uv_index: integer
:arg uv_index_from: optional uv index to copy from, -1 to transform the current uv.
:type uv_index_from: integer

View File

@@ -1,8 +1,6 @@
KX_MouseActuator(SCA_IActuator)
====================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_MouseActuator(SCA_IActuator)
@@ -100,4 +98,3 @@ base class --- :class:`SCA_IActuator`
The current rotational offset caused by the mouse actuator in degrees.
:type: list (vector of 2 floats)

View File

@@ -1,8 +1,6 @@
KX_MouseFocusSensor(SCA_MouseSensor)
====================================
.. module:: bge.types
base class --- :class:`SCA_MouseSensor`
.. class:: KX_MouseFocusSensor(SCA_MouseSensor)

View File

@@ -1,8 +1,6 @@
KX_NavMeshObject(KX_GameObject)
===============================
.. module:: bge.types
base class --- :class:`KX_GameObject`
.. class:: KX_NavMeshObject(KX_GameObject)
@@ -44,4 +42,3 @@ base class --- :class:`KX_GameObject`
Rebuild the navigation mesh.
:return: None

View File

@@ -1,8 +1,6 @@
KX_NearSensor(KX_TouchSensor)
=============================
.. module:: bge.types
base class --- :class:`KX_TouchSensor`
.. class:: KX_NearSensor(KX_TouchSensor)
@@ -20,4 +18,3 @@ base class --- :class:`KX_TouchSensor`
The near sensor deactivates when the object exceeds this distance.
:type: float

View File

@@ -1,8 +1,6 @@
KX_NetworkMessageActuator(SCA_IActuator)
========================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_NetworkMessageActuator(SCA_IActuator)
@@ -32,4 +30,3 @@ base class --- :class:`SCA_IActuator`
Send a property instead of a regular body message.
:type: boolean

View File

@@ -1,8 +1,6 @@
KX_NetworkMessageSensor(SCA_ISensor)
====================================
.. module:: bge.types
base class --- :class:`SCA_ISensor`
.. class:: KX_NetworkMessageSensor(SCA_ISensor)
@@ -34,5 +32,3 @@ base class --- :class:`SCA_ISensor`
The list of message bodies received. (read-only).
:type: list of strings

View File

@@ -1,8 +1,6 @@
KX_ObjectActuator(SCA_IActuator)
================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_ObjectActuator(SCA_IActuator)
@@ -126,4 +124,3 @@ base class --- :class:`SCA_IActuator`
The object that is used as reference to compute the velocity for the servo controller.
:type: :class:`KX_GameObject` or None

View File

@@ -1,8 +1,6 @@
KX_ParentActuator(SCA_IActuator)
================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_ParentActuator(SCA_IActuator)
@@ -35,4 +33,3 @@ base class --- :class:`SCA_IActuator`
Effective only if the shape is not added to the parent compound shape.
:type: boolean

View File

@@ -1,8 +1,6 @@
KX_PolyProxy(SCA_IObject)
=========================
.. module:: bge.types
base class --- :class:`SCA_IObject`
.. class:: KX_PolyProxy(SCA_IObject)
@@ -136,4 +134,3 @@ base class --- :class:`SCA_IObject`
:return: mesh proxy
:rtype: :class:`MeshProxy`

View File

@@ -1,8 +1,6 @@
KX_RadarSensor(KX_NearSensor)
=============================
.. module:: bge.types
base class --- :class:`KX_NearSensor`
.. class:: KX_RadarSensor(KX_NearSensor)
@@ -41,4 +39,3 @@ base class --- :class:`KX_NearSensor`
KX_RADAR_AXIS_POS_X, KX_RADAR_AXIS_POS_Y, KX_RADAR_AXIS_POS_Z,
KX_RADAR_AXIS_NEG_X, KX_RADAR_AXIS_NEG_Y, KX_RADAR_AXIS_NEG_Z

View File

@@ -1,8 +1,6 @@
KX_RaySensor(SCA_ISensor)
=========================
.. module:: bge.types
base class --- :class:`SCA_ISensor`
.. class:: KX_RaySensor(SCA_ISensor)
@@ -75,4 +73,3 @@ base class --- :class:`SCA_ISensor`
* KX_RAY_AXIS_NEG_X
* KX_RAY_AXIS_NEG_Y
* KX_RAY_AXIS_NEG_Z

View File

@@ -1,8 +1,6 @@
KX_SCA_AddObjectActuator(SCA_IActuator)
=======================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_SCA_AddObjectActuator(SCA_IActuator)
@@ -52,4 +50,3 @@ base class --- :class:`SCA_IActuator`
adds the object without needing to calling SCA_PythonController.activate()
.. note:: Use objectLastCreated to get the newly created object.

View File

@@ -1,8 +1,6 @@
KX_SCA_DynamicActuator(SCA_IActuator)
=====================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_SCA_DynamicActuator(SCA_IActuator)
@@ -26,4 +24,3 @@ base class --- :class:`SCA_IActuator`
the mass value for the KX_DYN_SET_MASS operation.
:type: float

View File

@@ -1,8 +1,6 @@
KX_SCA_EndObjectActuator(SCA_IActuator)
=======================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_SCA_EndObjectActuator(SCA_IActuator)
@@ -10,4 +8,3 @@ base class --- :class:`SCA_IActuator`
Edit Object Actuator (in End Object mode)
This actuator has no python methods.

View File

@@ -1,8 +1,6 @@
KX_SCA_ReplaceMeshActuator(SCA_IActuator)
=========================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_SCA_ReplaceMeshActuator(SCA_IActuator)
@@ -86,4 +84,3 @@ base class --- :class:`SCA_IActuator`
.. method:: instantReplaceMesh()
Immediately replace mesh without delay.

View File

@@ -1,8 +1,6 @@
KX_Scene(PyObjectPlus)
======================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: KX_Scene(PyObjectPlus)
@@ -183,4 +181,3 @@ base class --- :class:`PyObjectPlus`
.. method:: drawObstacleSimulation()
Draw debug visualization of obstacle simulation.

View File

@@ -1,8 +1,6 @@
KX_SceneActuator(SCA_IActuator)
===============================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_SceneActuator(SCA_IActuator)
@@ -46,4 +44,3 @@ base class --- :class:`SCA_IActuator`
The mode of the actuator.
:type: integer from 0 to 5.

View File

@@ -1,8 +1,6 @@
KX_SoundActuator(SCA_IActuator)
===============================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_SoundActuator(SCA_IActuator)
@@ -112,4 +110,3 @@ base class --- :class:`SCA_IActuator`
Stops the sound.
:return: None

View File

@@ -1,8 +1,6 @@
KX_StateActuator(SCA_IActuator)
===============================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_StateActuator(SCA_IActuator)
@@ -26,4 +24,3 @@ base class --- :class:`SCA_IActuator`
The bits that are 0 are will be left unmodified expect for the Copy operation which copies the mask to the object state.
:type: integer

View File

@@ -1,8 +1,6 @@
KX_SteeringActuator(SCA_IActuator)
==================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_SteeringActuator(SCA_IActuator)
@@ -68,4 +66,3 @@ base class --- :class:`SCA_IActuator`
Path update period
:type: int

View File

@@ -1,8 +1,6 @@
KX_TouchSensor(SCA_ISensor)
===========================
.. module:: bge.types
base class --- :class:`SCA_ISensor`
.. class:: KX_TouchSensor(SCA_ISensor)
@@ -44,4 +42,3 @@ base class --- :class:`SCA_ISensor`
The material of the object in the face hit by the ray. (read-only).
:type: string

View File

@@ -1,8 +1,6 @@
KX_TrackToActuator(SCA_IActuator)
=================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_TrackToActuator(SCA_IActuator)

View File

@@ -1,8 +1,6 @@
KX_VehicleWrapper(PyObjectPlus)
===============================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: KX_VehicleWrapper(PyObjectPlus)
@@ -163,4 +161,3 @@ base class --- :class:`PyObjectPlus`
:arg wheelIndex: the wheel index
:type wheelIndex: integer

View File

@@ -1,8 +1,6 @@
KX_VertexProxy(SCA_IObject)
===========================
.. module:: bge.types
base class --- :class:`SCA_IObject`
.. class:: KX_VertexProxy(SCA_IObject)
@@ -206,4 +204,3 @@ base class --- :class:`SCA_IObject`
:type: sequence of floats [r, g, b]
:arg normal: the new normal of this vertex.

View File

@@ -1,8 +1,6 @@
KX_VisibilityActuator(SCA_IActuator)
====================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: KX_VisibilityActuator(SCA_IActuator)
@@ -26,4 +24,3 @@ base class --- :class:`SCA_IActuator`
whether the visibility/occlusion should be propagated to all children of the object.
:type: boolean

View File

@@ -1,8 +1,6 @@
KX_WorldInfo(PyObjectPlus)
=============================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: KX_WorldInfo(PyObjectPlus)

View File

@@ -1,8 +1,6 @@
PyObjectPlus
============
.. module:: bge.types
.. class:: PyObjectPlus
PyObjectPlus base class of most other types in the Game Engine.
@@ -18,4 +16,3 @@ PyObjectPlus
The invalid attribute allows testing for this case without exception handling.
:type: boolean

View File

@@ -1,8 +1,6 @@
SCA_2DFilterActuator(SCA_IActuator)
===================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: SCA_2DFilterActuator(SCA_IActuator)
@@ -46,4 +44,3 @@ base class --- :class:`SCA_IActuator`
argument for motion blur filter.
:type: float (0.0-100.0)

View File

@@ -1,8 +1,6 @@
SCA_ANDController(SCA_IController)
==================================
.. module:: bge.types
base class --- :class:`SCA_IController`
.. class:: SCA_ANDController(SCA_IController)
@@ -10,4 +8,3 @@ base class --- :class:`SCA_IController`
An AND controller activates only when all linked sensors are activated.
There are no special python methods for this controller.

View File

@@ -1,8 +1,6 @@
SCA_ActuatorSensor(SCA_ISensor)
===============================
.. module:: bge.types
base class --- :class:`SCA_ISensor`
.. class:: SCA_ActuatorSensor(SCA_ISensor)
@@ -16,4 +14,3 @@ base class --- :class:`SCA_ISensor`
the name of the actuator that the sensor is monitoring.
:type: string

View File

@@ -1,11 +1,8 @@
SCA_AlwaysSensor(SCA_ISensor)
=============================
.. module:: bge.types
base class --- :class:`SCA_ISensor`
.. class:: SCA_AlwaysSensor(SCA_ISensor)
This sensor is always activated.

View File

@@ -1,8 +1,6 @@
SCA_DelaySensor(SCA_ISensor)
============================
.. module:: bge.types
base class --- :class:`SCA_ISensor`
.. class:: SCA_DelaySensor(SCA_ISensor)
@@ -36,4 +34,3 @@ base class --- :class:`SCA_ISensor`
1 if the OFF-ON cycle should be repeated indefinately, 0 if it should run once.
:type: integer

View File

@@ -1,11 +1,8 @@
SCA_IActuator(SCA_ILogicBrick)
==============================
.. module:: bge.types
base class --- :class:`SCA_ILogicBrick`
.. class:: SCA_IActuator(SCA_ILogicBrick)
Base class for all actuator logic bricks.

View File

@@ -1,8 +1,6 @@
SCA_IController(SCA_ILogicBrick)
================================
.. module:: bge.types
base class --- :class:`SCA_ILogicBrick`
.. class:: SCA_IController(SCA_ILogicBrick)
@@ -52,4 +50,3 @@ base class --- :class:`SCA_ILogicBrick`
.. note::
Order of execution between high priority controllers is not guaranteed.

View File

@@ -1,8 +1,6 @@
SCA_ILogicBrick(CValue)
=======================
.. module:: bge.types
base class --- :class:`CValue`
.. class:: SCA_ILogicBrick(CValue)
@@ -26,4 +24,3 @@ base class --- :class:`CValue`
The name of this logic brick (read-only).
:type: string

View File

@@ -1,11 +1,8 @@
SCA_IObject(CValue)
===================
.. module:: bge.types
base class --- :class:`CValue`
.. class:: SCA_IObject(CValue)
This class has no python functions

View File

@@ -1,8 +1,6 @@
SCA_ISensor(SCA_ILogicBrick)
============================
.. module:: bge.types
base class --- :class:`SCA_ILogicBrick`
.. class:: SCA_ISensor(SCA_ILogicBrick)
@@ -98,4 +96,3 @@ base class --- :class:`SCA_ILogicBrick`
Reset sensor internal state, effect depends on the type of sensor and settings.
The sensor is put in its initial state as if it was just activated.

View File

@@ -1,8 +1,6 @@
SCA_JoystickSensor(SCA_ISensor)
===============================
.. module:: bge.types
base class --- :class:`SCA_ISensor`
.. class:: SCA_JoystickSensor(SCA_ISensor)
@@ -130,4 +128,3 @@ base class --- :class:`SCA_ISensor`
:type buttonIndex: integer
:return: The current pressed state of the specified button.
:rtype: boolean

View File

@@ -1,8 +1,6 @@
SCA_KeyboardSensor(SCA_ISensor)
===============================
.. module:: bge.types
base class --- :class:`SCA_ISensor`
.. class:: SCA_KeyboardSensor(SCA_ISensor)
@@ -61,4 +59,3 @@ base class --- :class:`SCA_ISensor`
:type keycode: integer
:return: The state of the given key, can be one of :ref:`these constants<input-status>`
:rtype: int

View File

@@ -1,8 +1,6 @@
SCA_MouseSensor(SCA_ISensor)
============================
.. module:: bge.types
base class --- :class:`SCA_ISensor`
.. class:: SCA_MouseSensor(SCA_ISensor)
@@ -36,4 +34,3 @@ base class --- :class:`SCA_ISensor`
:type button: int
:return: The state of the given key, can be one of :ref:`these constants<input-status>`
:rtype: int

View File

@@ -1,8 +1,6 @@
SCA_NANDController(SCA_IController)
===================================
.. module:: bge.types
base class --- :class:`SCA_IController`
.. class:: SCA_NANDController(SCA_IController)
@@ -10,4 +8,3 @@ base class --- :class:`SCA_IController`
An NAND controller activates when all linked sensors are not active.
There are no special python methods for this controller.

View File

@@ -1,8 +1,6 @@
SCA_NORController(SCA_IController)
==================================
.. module:: bge.types
base class --- :class:`SCA_IController`
.. class:: SCA_NORController(SCA_IController)
@@ -10,4 +8,3 @@ base class --- :class:`SCA_IController`
An NOR controller activates only when all linked sensors are de-activated.
There are no special python methods for this controller.

View File

@@ -1,8 +1,6 @@
SCA_ORController(SCA_IController)
=================================
.. module:: bge.types
base class --- :class:`SCA_IController`
.. class:: SCA_ORController(SCA_IController)
@@ -10,4 +8,3 @@ base class --- :class:`SCA_IController`
An OR controller activates when any connected sensor activates.
There are no special python methods for this controller.

View File

@@ -1,8 +1,6 @@
SCA_PropertyActuator(SCA_IActuator)
===================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: SCA_PropertyActuator(SCA_IActuator)
@@ -26,4 +24,3 @@ base class --- :class:`SCA_IActuator`
TODO - add constants to game logic dict!.
:type: integer

View File

@@ -1,8 +1,6 @@
SCA_PropertySensor(SCA_ISensor)
===============================
.. module:: bge.types
base class --- :class:`SCA_ISensor`
.. class:: SCA_PropertySensor(SCA_ISensor)
@@ -38,4 +36,3 @@ base class --- :class:`SCA_ISensor`
the maximum value of the range used to evaluate the property when in interval mode.
:type: string

View File

@@ -1,8 +1,6 @@
SCA_PythonController(SCA_IController)
=====================================
.. module:: bge.types
base class --- :class:`SCA_IController`
.. class:: SCA_PythonController(SCA_IController)
@@ -51,4 +49,3 @@ base class --- :class:`SCA_IController`
:arg actuator: The actuator to operate on.
:type actuator: actuator or the actuator name as a string

View File

@@ -1,8 +1,6 @@
SCA_PythonJoystick(PyObjectPlus)
================================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: SCA_PythonJoystick(PyObjectPlus)
@@ -74,4 +72,3 @@ base class --- :class:`PyObjectPlus`
The number of hats for the joystick at this index. (read-only).
:type: integer

View File

@@ -1,8 +1,6 @@
SCA_PythonKeyboard(PyObjectPlus)
================================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: SCA_PythonKeyboard(PyObjectPlus)
@@ -34,4 +32,3 @@ base class --- :class:`PyObjectPlus`
:arg text: New clipboard text
:type text: string

View File

@@ -1,8 +1,6 @@
SCA_PythonMouse(PyObjectPlus)
=============================
.. module:: bge.types
base class --- :class:`PyObjectPlus`
.. class:: SCA_PythonMouse(PyObjectPlus)
@@ -32,4 +30,3 @@ base class --- :class:`PyObjectPlus`
The visibility of the mouse cursor.
:type: boolean

View File

@@ -1,8 +1,6 @@
SCA_RandomActuator(SCA_IActuator)
=================================
.. module:: bge.types
base class --- :class:`SCA_IActuator`
.. class:: SCA_RandomActuator(SCA_IActuator)
@@ -124,4 +122,3 @@ base class --- :class:`SCA_IActuator`
The half-life 'time' is characterized by half_life.
:type half_life: float

View File

@@ -1,8 +1,6 @@
SCA_RandomSensor(SCA_ISensor)
=============================
.. module:: bge.types
base class --- :class:`SCA_ISensor`
.. class:: SCA_RandomSensor(SCA_ISensor)
@@ -20,4 +18,3 @@ base class --- :class:`SCA_ISensor`
The seed of the random number generator.
:type: integer

View File

@@ -1,8 +1,6 @@
SCA_XNORController(SCA_IController)
===================================
.. module:: bge.types
base class --- :class:`SCA_IController`
.. class:: SCA_XNORController(SCA_IController)
@@ -10,4 +8,3 @@ base class --- :class:`SCA_IController`
An XNOR controller activates when all linked sensors are the same (activated or inative).
There are no special python methods for this controller.

View File

@@ -1,8 +1,6 @@
SCA_XORController(SCA_IController)
==================================
.. module:: bge.types
base class --- :class:`SCA_IController`
.. class:: SCA_XORController(SCA_IController)
@@ -10,4 +8,3 @@ base class --- :class:`SCA_IController`
An XOR controller activates when there is the input is mixed, but not when all are on or off.
There are no special python methods for this controller.

View File

@@ -332,9 +332,6 @@ except ImportError:
# to avoid having to match Blender's source tree.
EXTRA_SOURCE_FILES = (
"../../../release/scripts/templates_py/bmesh_simple.py",
"../../../release/scripts/templates_py/manipulator_operator.py",
"../../../release/scripts/templates_py/manipulator_operator_target.py",
"../../../release/scripts/templates_py/manipulator_simple.py",
"../../../release/scripts/templates_py/operator_simple.py",
"../../../release/scripts/templates_py/ui_panel_simple.py",
"../../../release/scripts/templates_py/ui_previews_custom_icon.py",
@@ -1036,7 +1033,6 @@ context_type_map = {
"brush": ("Brush", False),
"camera": ("Camera", False),
"cloth": ("ClothModifier", False),
"collection": ("LayerCollection", False),
"collision": ("CollisionModifier", False),
"curve": ("Curve", False),
"dynamic_paint": ("DynamicPaintModifier", False),
@@ -1057,7 +1053,6 @@ context_type_map = {
"image_paint_object": ("Object", False),
"lamp": ("Lamp", False),
"lattice": ("Lattice", False),
"lightprobe": ("LightProbe", False),
"line_style": ("FreestyleLineStyle", False),
"material": ("Material", False),
"material_slot": ("MaterialSlot", False),
@@ -1069,7 +1064,6 @@ context_type_map = {
"particle_system": ("ParticleSystem", False),
"particle_system_editable": ("ParticleSystem", False),
"pose_bone": ("PoseBone", False),
"render_layer": ("SceneLayer", False),
"scene": ("Scene", False),
"sculpt_object": ("Object", False),
"selectable_bases": ("ObjectBase", True),

Some files were not shown because too many files have changed in this diff Show More