pep8 cleanup, also print message when attempting to run in animation player mode.
This commit is contained in:
parent
336a47cdcf
commit
2658949752
|
@ -42,9 +42,9 @@ def replace_line(f, i, text, keep_indent=True):
|
|||
|
||||
l = data[i]
|
||||
ws = l[:len(l) - len(l.lstrip())]
|
||||
|
||||
|
||||
data[i] = "%s%s\n" % (ws, text)
|
||||
|
||||
|
||||
file_handle = open(f, 'w')
|
||||
file_handle.writelines(data)
|
||||
file_handle.close()
|
||||
|
@ -182,13 +182,13 @@ def cmake_get_src(f):
|
|||
|
||||
if new_path_rel != l:
|
||||
print("overly relative path:\n %s:%d\n %s\n %s" % (f, i, l, new_path_rel))
|
||||
|
||||
|
||||
## Save time. just replace the line
|
||||
# replace_line(f, i - 1, new_path_rel)
|
||||
|
||||
|
||||
else:
|
||||
raise Exception("non existant include %s:%d -> %s" % (f, i, new_file))
|
||||
|
||||
|
||||
# print(new_file)
|
||||
|
||||
global_h.update(set(sources_h))
|
||||
|
@ -206,7 +206,7 @@ def cmake_get_src(f):
|
|||
if ff not in sources_c:
|
||||
print(" missing: " + ff)
|
||||
'''
|
||||
|
||||
|
||||
# reset
|
||||
sources_h[:] = []
|
||||
sources_c[:] = []
|
||||
|
|
|
@ -30,7 +30,18 @@ Example linux usage
|
|||
Windows not supported so far
|
||||
"""
|
||||
|
||||
from project_info import *
|
||||
from project_info import (SIMPLE_PROJECTFILE,
|
||||
SOURCE_DIR,
|
||||
CMAKE_DIR,
|
||||
PROJECT_DIR,
|
||||
source_list,
|
||||
is_project_file,
|
||||
is_c_header,
|
||||
is_py,
|
||||
cmake_advanced_info,
|
||||
cmake_compiler_defines,
|
||||
)
|
||||
|
||||
|
||||
import os
|
||||
from os.path import join, dirname, normpath, relpath, exists
|
||||
|
|
|
@ -31,7 +31,17 @@ example linux usage
|
|||
python .~/blenderSVN/blender/build_files/cmake/cmake_qtcreator_project.py ~/blenderSVN/cmake
|
||||
"""
|
||||
|
||||
from project_info import *
|
||||
from project_info import (SIMPLE_PROJECTFILE,
|
||||
SOURCE_DIR,
|
||||
CMAKE_DIR,
|
||||
PROJECT_DIR,
|
||||
source_list,
|
||||
is_project_file,
|
||||
is_c_header,
|
||||
is_py,
|
||||
cmake_advanced_info,
|
||||
cmake_compiler_defines,
|
||||
)
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
|
|
@ -8,11 +8,11 @@ from bge import constraints
|
|||
|
||||
# get object list
|
||||
objects = logic.getCurrentScene().objects
|
||||
|
||||
|
||||
# get object named Object1 and Object 2
|
||||
object_1 = objects["Object1"]
|
||||
object_2 = objects["Object2"]
|
||||
|
||||
|
||||
# want to use Edge constraint type
|
||||
constraint_type = 2
|
||||
|
||||
|
@ -31,7 +31,7 @@ edge_angle_y = 1.0
|
|||
edge_angle_z = 0.0
|
||||
|
||||
# create an edge constraint
|
||||
constraints.createConstraint( physics_id_1, physics_id_2,
|
||||
constraint_type,
|
||||
edge_position_x, edge_position_y, edge_position_z,
|
||||
edge_angle_x, edge_angle_y, edge_angle_z )
|
||||
constraints.createConstraint(physics_id_1, physics_id_2,
|
||||
constraint_type,
|
||||
edge_position_x, edge_position_y, edge_position_z,
|
||||
edge_angle_x, edge_angle_y, edge_angle_z)
|
||||
|
|
|
@ -6,29 +6,31 @@ createTexture() and removeTexture() are to be called from a module Python
|
|||
Controller.
|
||||
"""
|
||||
from bge import logic
|
||||
from bge import texture
|
||||
from bge import texture
|
||||
|
||||
|
||||
def createTexture(cont):
|
||||
"""Create a new Dynamic Texture"""
|
||||
object = cont.owner
|
||||
|
||||
|
||||
# get the reference pointer (ID) of the internal texture
|
||||
ID = texture.materialID(obj, 'IMoriginal.png')
|
||||
|
||||
# create a texture object
|
||||
|
||||
# create a texture object
|
||||
object_texture = texture.Texture(object, ID)
|
||||
|
||||
|
||||
# create a new source with an external image
|
||||
url = logic.expandPath("//newtexture.jpg")
|
||||
new_source = texture.ImageFFmpeg(url)
|
||||
|
||||
|
||||
# the texture has to be stored in a permanent Python object
|
||||
logic.texture = object_texture
|
||||
|
||||
|
||||
# update/replace the texture
|
||||
logic.texture.source = new_source
|
||||
logic.texture.refresh(False)
|
||||
|
||||
|
||||
def removeTexture(cont):
|
||||
"""Delete the Dynamic Texture, reversing back the final to its original state."""
|
||||
try:
|
||||
|
|
|
@ -9,14 +9,14 @@ from bge import logic
|
|||
|
||||
cont = logic.getCurrentController()
|
||||
obj = cont.owner
|
||||
|
||||
# the creation of the texture must be done once: save the
|
||||
|
||||
# the creation of the texture must be done once: save the
|
||||
# texture object in an attribute of bge.logic module makes it persistent
|
||||
if not hasattr(logic, 'video'):
|
||||
|
||||
|
||||
# identify a static texture by name
|
||||
matID = texture.materialID(obj, 'IMvideo.png')
|
||||
|
||||
|
||||
# create a dynamic texture that will replace the static texture
|
||||
logic.video = texture.Texture(obj, matID)
|
||||
|
||||
|
@ -24,7 +24,7 @@ if not hasattr(logic, 'video'):
|
|||
movie = logic.expandPath('//trailer_400p.ogg')
|
||||
logic.video.source = texture.VideoFFmpeg(movie)
|
||||
logic.video.source.scale = True
|
||||
|
||||
|
||||
# quick off the movie, but it wont play in the background
|
||||
logic.video.source.play()
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
"""
|
||||
Hello World Text Example
|
||||
++++++++++++++++++++++++
|
||||
|
||||
Blender Game Engine example of using the blf module. For this module to work we
|
||||
need to use the OpenGL wrapper :class:`~bgl` as well.
|
||||
"""
|
||||
|
@ -11,31 +12,33 @@ from bge import logic
|
|||
import bgl
|
||||
import blf
|
||||
|
||||
|
||||
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
|
||||
# store the font indice - to use later
|
||||
logic.font_id = blf.load(font_path)
|
||||
|
||||
# set the font drawing routine to run every frame
|
||||
# set the font drawing routine to run every frame
|
||||
scene = logic.getCurrentScene()
|
||||
scene.post_draw=[write]
|
||||
scene.post_draw = [write]
|
||||
|
||||
|
||||
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()
|
||||
|
||||
|
||||
# BLF drawing routine
|
||||
font_id = logic.font_id
|
||||
blf.position(font_id, (width*0.2), (height*0.3), 0)
|
||||
blf.position(font_id, (width * 0.2), (height * 0.3), 0)
|
||||
blf.size(font_id, 50, 72)
|
||||
blf.draw(font_id, "Hello World")
|
||||
|
|
|
@ -33,6 +33,7 @@ import bpy as _bpy
|
|||
|
||||
error_duplicates = False
|
||||
|
||||
|
||||
def paths():
|
||||
# RELEASE SCRIPTS: official scripts distributed in Blender releases
|
||||
paths = _bpy.utils.script_paths("addons")
|
||||
|
|
|
@ -43,6 +43,7 @@ from . import utils, path, ops
|
|||
# fake operator module
|
||||
ops = ops.ops_fake_module
|
||||
|
||||
|
||||
def _main():
|
||||
import sys as _sys
|
||||
|
||||
|
|
|
@ -159,14 +159,19 @@ def axis_conversion(from_forward='Y', from_up='Z', to_forward='Y', to_up='Z'):
|
|||
raise Exception("invalid axis arguments passed, "
|
||||
"can't use up/forward on the same axis.")
|
||||
|
||||
value = reduce(int.__or__, (_axis_convert_num[a] << (i * 3) for i, a in enumerate((from_forward, from_up, to_forward, to_up))))
|
||||
value = reduce(int.__or__, (_axis_convert_num[a] << (i * 3)
|
||||
for i, a in enumerate((from_forward,
|
||||
from_up,
|
||||
to_forward,
|
||||
to_up,
|
||||
))))
|
||||
|
||||
for i, axis_lut in enumerate(_axis_convert_lut):
|
||||
if value in axis_lut:
|
||||
return Matrix(_axis_convert_matrix[i])
|
||||
assert(0)
|
||||
|
||||
|
||||
|
||||
def axis_conversion_ensure(operator, forward_attr, up_attr):
|
||||
"""
|
||||
Function to ensure an operator has valid axis conversion settings, intended
|
||||
|
@ -174,9 +179,9 @@ def axis_conversion_ensure(operator, forward_attr, up_attr):
|
|||
|
||||
:arg operator: the operator to access axis attributes from.
|
||||
:type operator: :class:`Operator`
|
||||
:arg forward_attr:
|
||||
:arg forward_attr: attribute storing the forward axis
|
||||
:type forward_attr: string
|
||||
:arg up_attr: the directory the *filepath* will be referenced from (normally the export path).
|
||||
:arg up_attr: attribute storing the up axis
|
||||
:type up_attr: string
|
||||
:return: True if the value was modified.
|
||||
:rtype: boolean
|
||||
|
@ -184,9 +189,9 @@ def axis_conversion_ensure(operator, forward_attr, up_attr):
|
|||
def validate(axis_forward, axis_up):
|
||||
if axis_forward[-1] == axis_up[-1]:
|
||||
axis_up = axis_up[0:-1] + 'XYZ'[('XYZ'.index(axis_up[-1]) + 1) % 3]
|
||||
|
||||
|
||||
return axis_forward, axis_up
|
||||
|
||||
|
||||
change = False
|
||||
|
||||
axis = getattr(operator, forward_attr), getattr(operator, up_attr)
|
||||
|
|
|
@ -170,8 +170,8 @@ def edge_loops_from_faces(mesh, faces=None, seams=()):
|
|||
# from knowing the last 2, look for th next.
|
||||
ed_adj = edges[context_loop[-1]]
|
||||
if len(ed_adj) != 2:
|
||||
|
||||
if other_dir and flipped == False: # the original edge had 2 other edges
|
||||
# the original edge had 2 other edges
|
||||
if other_dir and flipped == False:
|
||||
flipped = True # only flip the list once
|
||||
context_loop.reverse()
|
||||
ed_adj[:] = []
|
||||
|
@ -259,13 +259,15 @@ def edge_loops_from_edges(mesh, edges=None):
|
|||
|
||||
def ngon_tesselate(from_data, indices, fix_loops=True):
|
||||
'''
|
||||
Takes a polyline of indices (fgon)
|
||||
and returns a list of face indicie lists.
|
||||
Designed to be used for importers that need indices for an fgon to create from existing verts.
|
||||
Takes a polyline of indices (fgon) and returns a list of face
|
||||
indicie lists. Designed to be used for importers that need indices for an
|
||||
fgon to create from existing verts.
|
||||
|
||||
from_data: either a mesh, or a list/tuple of vectors.
|
||||
indices: a list of indices to use this list is the ordered closed polyline to fill, and can be a subset of the data given.
|
||||
fix_loops: If this is enabled polylines that use loops to make multiple polylines are delt with correctly.
|
||||
indices: a list of indices to use this list is the ordered closed polyline
|
||||
to fill, and can be a subset of the data given.
|
||||
fix_loops: If this is enabled polylines that use loops to make multiple
|
||||
polylines are delt with correctly.
|
||||
'''
|
||||
|
||||
from mathutils.geometry import tesselate_polygon
|
||||
|
@ -276,7 +278,8 @@ def ngon_tesselate(from_data, indices, fix_loops=True):
|
|||
return []
|
||||
|
||||
def mlen(co):
|
||||
return abs(co[0]) + abs(co[1]) + abs(co[2]) # manhatten length of a vector, faster then length
|
||||
# manhatten length of a vector, faster then length
|
||||
return abs(co[0]) + abs(co[1]) + abs(co[2])
|
||||
|
||||
def vert_treplet(v, i):
|
||||
return v, vector_to_tuple(v, 6), i, mlen(v)
|
||||
|
@ -296,7 +299,8 @@ def ngon_tesselate(from_data, indices, fix_loops=True):
|
|||
else:
|
||||
verts = [from_data.vertices[i].co for ii, i in enumerate(indices)]
|
||||
|
||||
for i in range(len(verts) - 1, 0, -1): # same as reversed(xrange(1, len(verts))):
|
||||
# same as reversed(range(1, len(verts))):
|
||||
for i in range(len(verts) - 1, 0, -1):
|
||||
if verts[i][1] == verts[i - 1][0]:
|
||||
verts.pop(i - 1)
|
||||
|
||||
|
@ -304,14 +308,16 @@ def ngon_tesselate(from_data, indices, fix_loops=True):
|
|||
|
||||
else:
|
||||
'''
|
||||
Seperate this loop into multiple loops be finding edges that are used twice
|
||||
This is used by lightwave LWO files a lot
|
||||
Seperate this loop into multiple loops be finding edges that are
|
||||
used twice. This is used by lightwave LWO files a lot
|
||||
'''
|
||||
|
||||
if type(from_data) in (tuple, list):
|
||||
verts = [vert_treplet(Vector(from_data[i]), ii) for ii, i in enumerate(indices)]
|
||||
verts = [vert_treplet(Vector(from_data[i]), ii)
|
||||
for ii, i in enumerate(indices)]
|
||||
else:
|
||||
verts = [vert_treplet(from_data.vertices[i].co, ii) for ii, i in enumerate(indices)]
|
||||
verts = [vert_treplet(from_data.vertices[i].co, ii)
|
||||
for ii, i in enumerate(indices)]
|
||||
|
||||
edges = [(i, i - 1) for i in range(len(verts))]
|
||||
if edges:
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
import bpy
|
||||
from mathutils import Vector
|
||||
|
||||
|
||||
def GlobalBB_LQ(bb_world):
|
||||
|
||||
# Initialize the variables with the 8th vertex
|
||||
|
@ -33,7 +34,7 @@ def GlobalBB_LQ(bb_world):
|
|||
)
|
||||
|
||||
# Test against the other 7 verts
|
||||
for i in range (7):
|
||||
for i in range(7):
|
||||
|
||||
# X Range
|
||||
val = bb_world[i][0]
|
||||
|
@ -61,6 +62,7 @@ def GlobalBB_LQ(bb_world):
|
|||
|
||||
return (Vector((left, front, up)), Vector((right, back, down)))
|
||||
|
||||
|
||||
def GlobalBB_HQ(obj):
|
||||
|
||||
matrix_world = obj.matrix_world.copy()
|
||||
|
@ -80,7 +82,7 @@ def GlobalBB_HQ(obj):
|
|||
)
|
||||
|
||||
# Test against all other verts
|
||||
for i in range (len(verts)-1):
|
||||
for i in range(len(verts) - 1):
|
||||
|
||||
vco = matrix_world * verts[i].co
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ class WORLD_PT_world(WorldButtonsPanel, bpy.types.Panel):
|
|||
col.prop(world, "zenith_color")
|
||||
col.active = world.use_sky_blend
|
||||
row.column().prop(world, "ambient_color")
|
||||
|
||||
|
||||
row = layout.row()
|
||||
row.prop(world, "exposure")
|
||||
row.prop(world, "color_range")
|
||||
|
|
|
@ -60,7 +60,7 @@ class INFO_HT_header(bpy.types.Header):
|
|||
layout.template_running_jobs()
|
||||
|
||||
layout.template_reports_banner()
|
||||
|
||||
|
||||
row = layout.row(align=True)
|
||||
row.operator("wm.splash", text="", icon='BLENDER', emboss=False)
|
||||
row.label(text=scene.statistics())
|
||||
|
|
|
@ -135,7 +135,7 @@ class NODE_MT_node(bpy.types.Menu):
|
|||
layout.operator("transform.resize")
|
||||
|
||||
layout.separator()
|
||||
|
||||
|
||||
layout.operator("node.duplicate_move")
|
||||
layout.operator("node.delete")
|
||||
layout.operator("node.delete_reconnect")
|
||||
|
|
|
@ -1020,7 +1020,6 @@ class USERPREF_PT_addons(bpy.types.Panel):
|
|||
for i in range(4 - tot_row):
|
||||
split.separator()
|
||||
|
||||
|
||||
# Append missing scripts
|
||||
# First collect scripts that are used but have no script file.
|
||||
module_names = {mod.__name__ for mod, info in addons}
|
||||
|
|
|
@ -55,7 +55,7 @@ class VIEW3D_HT_header(bpy.types.Header):
|
|||
|
||||
row = layout.row()
|
||||
# Contains buttons like Mode, Pivot, Manipulator, Layer, Mesh Select Mode...
|
||||
row.template_header_3D()
|
||||
row.template_header_3D()
|
||||
|
||||
if obj:
|
||||
# Particle edit
|
||||
|
|
|
@ -58,6 +58,7 @@ def draw_gpencil_tools(context, layout):
|
|||
row = col.row()
|
||||
row.prop(context.tool_settings, "use_grease_pencil_sessions")
|
||||
|
||||
|
||||
# ********** default tools for objectmode ****************
|
||||
|
||||
class VIEW3D_PT_tools_objectmode(View3DPanel, bpy.types.Panel):
|
||||
|
|
|
@ -26,7 +26,7 @@ for obj in selection:
|
|||
# bpy.ops.export_scene.x3d(filepath=fn + ".x3d", use_selection=True)
|
||||
|
||||
obj.select = False
|
||||
|
||||
|
||||
print("written:", fn)
|
||||
|
||||
for obj in selection:
|
||||
|
|
|
@ -26,8 +26,8 @@ class CustomMenu(bpy.types.Menu):
|
|||
|
||||
|
||||
def draw_item(self, context):
|
||||
layout = self.layout
|
||||
layout.menu(CustomMenu.bl_idname)
|
||||
layout = self.layout
|
||||
layout.menu(CustomMenu.bl_idname)
|
||||
|
||||
|
||||
def register():
|
||||
|
|
|
@ -155,7 +155,8 @@ void WM_init(bContext *C, int argc, const char **argv)
|
|||
BPY_python_start(argc, argv);
|
||||
|
||||
BPY_driver_reset();
|
||||
BPY_app_handlers_reset();
|
||||
BPY_app_handlers_reset(); /* causes addon callbacks to be freed [#28068],
|
||||
* but this is actually what we want. */
|
||||
BPY_modules_load_user(C);
|
||||
#else
|
||||
(void)argc; /* unused */
|
||||
|
|
|
@ -434,9 +434,12 @@ static int playback_mode(int UNUSED(argc), const char **UNUSED(argv), void *UNUS
|
|||
{
|
||||
/* not if -b was given first */
|
||||
if (G.background == 0) {
|
||||
|
||||
// XXX playanim(argc, argv); /* not the same argc and argv as before */
|
||||
#if 0 /* TODO, bring player back? */
|
||||
playanim(argc, argv); /* not the same argc and argv as before */
|
||||
#else
|
||||
fprintf(stderr, "Playback mode not supported in blender 2.5x\n");
|
||||
exit(0);
|
||||
#endif
|
||||
}
|
||||
|
||||
return -2;
|
||||
|
|
|
@ -28,6 +28,7 @@ SKIP_DIRS = ("extern",
|
|||
os.path.join("source", "tests"), # not this dir
|
||||
)
|
||||
|
||||
|
||||
def is_c_header(filename):
|
||||
ext = splitext(filename)[1]
|
||||
return (ext in (".h", ".hpp", ".hxx"))
|
||||
|
@ -41,13 +42,16 @@ def is_c(filename):
|
|||
def is_c_any(filename):
|
||||
return is_c(filename) or is_c_header(filename)
|
||||
|
||||
|
||||
def is_py(filename):
|
||||
ext = splitext(filename)[1]
|
||||
return (ext == ".py")
|
||||
|
||||
|
||||
def is_source_any(filename):
|
||||
return is_c_any(filename) or is_py(filename)
|
||||
|
||||
|
||||
def source_list(path, filename_check=None):
|
||||
for dirpath, dirnames, filenames in os.walk(path):
|
||||
|
||||
|
@ -67,7 +71,7 @@ def deprecations():
|
|||
/* *DEPRECATED* 2011/7/17 bgl.Buffer.list info text */
|
||||
|
||||
Or...
|
||||
|
||||
|
||||
# *DEPRECATED* 2010/12/22 some.py.func more info */
|
||||
|
||||
"""
|
||||
|
@ -105,12 +109,12 @@ def deprecations():
|
|||
if len(data) != 3:
|
||||
print(" poorly formatting line:\n"
|
||||
" %r:%d\n"
|
||||
" %s"%
|
||||
" %s" %
|
||||
(fn, i + 1, l)
|
||||
)
|
||||
else:
|
||||
data = datetime.datetime(*tuple([int(w) for w in data]))
|
||||
|
||||
|
||||
deprecations_ls.append((data, (fn, i + 1), info))
|
||||
except:
|
||||
print("Error file - %r:%d" % (fn, i + 1))
|
||||
|
@ -123,10 +127,11 @@ def deprecations():
|
|||
|
||||
return deprecations_ls
|
||||
|
||||
|
||||
def main():
|
||||
import datetime
|
||||
now = datetime.datetime.now()\
|
||||
|
||||
|
||||
deps = deprecations()
|
||||
|
||||
print("\nAll deprecations...")
|
||||
|
|
Loading…
Reference in New Issue