Spelling fixes in comments and descriptions, patch by luzpaz.

Differential Revision: https://developer.blender.org/D3668
This commit is contained in:
Brecht Van Lommel 2018-09-03 16:49:08 +02:00
parent c6bbe6c5aa
commit 4da2acae3a
72 changed files with 132 additions and 132 deletions

@ -210,10 +210,10 @@ option(WITH_INTERNATIONAL "Enable I18N (International fonts and text)" ON)
option(WITH_PYTHON "Enable Embedded Python API (only disable for development)" ON)
option(WITH_PYTHON_SECURITY "Disables execution of scripts within blend files by default" ON)
mark_as_advanced(WITH_PYTHON) # dont want people disabling this unless they really know what they are doing.
mark_as_advanced(WITH_PYTHON) # don't want people disabling this unless they really know what they are doing.
mark_as_advanced(WITH_PYTHON_SECURITY) # some distributions see this as a security issue, rather than have them patch it, make a build option.
option(WITH_PYTHON_SAFETY "Enable internal API error checking to track invalid data to prevent crash on access (at the expense of some effeciency, only enable for development)." OFF)
option(WITH_PYTHON_SAFETY "Enable internal API error checking to track invalid data to prevent crash on access (at the expense of some efficiency, only enable for development)." OFF)
mark_as_advanced(WITH_PYTHON_SAFETY)
option(WITH_PYTHON_MODULE "Enable building as a python module which runs without a user interface, like running regular blender in background mode (experimental, only enable for development), installs to PYTHON_SITE_PACKAGES (or CMAKE_INSTALL_PREFIX if WITH_INSTALL_PORTABLE is enabled)." OFF)
if(APPLE)
@ -225,8 +225,8 @@ if(${CMAKE_VERSION} VERSION_LESS 2.8.8)
# add_library OBJECT arg unsupported
set(WITH_BUILDINFO OFF)
endif()
set(BUILDINFO_OVERRIDE_DATE "" CACHE STRING "Use instead of the current date for reproducable builds (empty string disables this option)")
set(BUILDINFO_OVERRIDE_TIME "" CACHE STRING "Use instead of the current time for reproducable builds (empty string disables this option)")
set(BUILDINFO_OVERRIDE_DATE "" CACHE STRING "Use instead of the current date for reproducible builds (empty string disables this option)")
set(BUILDINFO_OVERRIDE_TIME "" CACHE STRING "Use instead of the current time for reproducible builds (empty string disables this option)")
set(CPACK_OVERRIDE_PACKAGENAME "" CACHE STRING "Use instead of the standard packagename (empty string disables this option)")
mark_as_advanced(CPACK_OVERRIDE_PACKAGENAME)
mark_as_advanced(BUILDINFO_OVERRIDE_DATE)
@ -891,7 +891,7 @@ if(WITH_X11)
endif()
if(WITH_X11_XF86VMODE)
# XXX, why dont cmake make this available?
# XXX, why doesn't cmake make this available?
find_library(X11_Xxf86vmode_LIB Xxf86vm ${X11_LIB_SEARCH_PATH})
mark_as_advanced(X11_Xxf86vmode_LIB)
if(X11_Xxf86vmode_LIB)
@ -988,7 +988,7 @@ endif()
if(SUPPORT_SSE2_BUILD)
set(PLATFORM_CFLAGS " ${PLATFORM_CFLAGS} ${COMPILER_SSE2_FLAG}")
add_definitions(-D__SSE2__)
if(NOT SUPPORT_SSE_BUILD) # dont double up
if(NOT SUPPORT_SSE_BUILD) # don't double up
add_definitions(-D__MMX__)
endif()
endif()
@ -1001,7 +1001,7 @@ if(MSVC)
# OSX-Note: as we do cross-compiling with specific set architecture,
# endianess-detection and auto-setting is counterproductive
# so we just set endianess according CMAKE_OSX_ARCHITECTURES
# so we just set endianness according CMAKE_OSX_ARCHITECTURES
elseif(CMAKE_OSX_ARCHITECTURES MATCHES i386 OR CMAKE_OSX_ARCHITECTURES MATCHES x86_64)
add_definitions(-D__LITTLE_ENDIAN__)

@ -383,7 +383,7 @@ def usage():
print("Options:")
print("\t--dna-keep-blend: doesn't delete the produced blend file DNA export to html")
print("\t--dna-debug: sets the logging level to DEBUG (lots of additional info)")
print("\t--dna-versioned saves version informations in the html and blend filenames")
print("\t--dna-versioned saves version information in the html and blend filenames")
print("\t--dna-overwrite-css overwrite dna.css, useful when modifying css in the script")
print("Examples:")
print("\tdefault: % blender2.5 --background -noaudio --python BlendFileDnaExporter_25.py")

@ -8,7 +8,7 @@ where "blender2.5" is your blender executable or a symlink to it.
This creates a temporary dna.blend to be inspected and it produces two new files:
* dna.html: the list of all the structures saved in a blend file with the blender2.5
executable you have used. If you enable build informations when you build blender,
executable you have used. If you enable build information when you build blender,
the dna.html file will also show which svn revision the html refers to.
* dna.css: the css for the html above
@ -20,7 +20,7 @@ Usage:
Options:
--dna-keep-blend: doesn't delete the produced blend file DNA export to html
--dna-debug: sets the logging level to DEBUG (lots of additional info)
--dna-versioned saves version informations in the html and blend filenames
--dna-versioned saves version information in the html and blend filenames
--dna-overwrite-css overwrite dna.css, useful when modifying css in the script
Examples:
default: % blender2.5 --background -noaudio --python BlendFileDnaExporter_25.py

@ -204,7 +204,7 @@ Nowadays, little-endian is the most commonly used.
<a name="example-endianess"></a>
<div class="box">
<p onclick="location.href='#example-endianess'" class="box-title">
Endianess Example
Endianness Example
</p>
<p>
Writing the integer <code class="evidence">0x4A3B2C1Dh</code>, will be ordered:
@ -826,7 +826,7 @@ Note
</p>
<p>
A file-block containing a list refers to the DNA structure and has a count larger
than 1. For example Vertexes and Faces are stored in this way.
than 1. For example Vertices and Faces are stored in this way.
</p>
</div>

@ -5,7 +5,7 @@ NOTE: This file does not cover memutil and smart pointers and reference counted
garbage collection, which are contained in the memutil module.
Blender takes care of dynamic memory allocation using a set of own functions
which are recognizeable through their MEM_ prefix. All memory allocation and
which are recognizable through their MEM_ prefix. All memory allocation and
deallocation in blender is done through these functions.
The following functions are available through MEM_guardedalloc.h:

@ -35,7 +35,7 @@ Contents
4.4 specials
15. KEYEVT
16. LINK and INLINK
4.5 uiButton control fuctions
4.5 uiButton control functions
----------------1. General notes
@ -130,7 +130,7 @@ It walks through the lists in a rather complex manner:
/* so we create a 2nd loop for it */
- while first block is a menu
- if block is a menu and not initialized:
- initalize 'saveunder'
- initialize 'saveunder'
- draw it
- get event from queue
- call uiDoBlock (handles buttons for single block)
@ -177,7 +177,7 @@ font:
With the new truetype option in Blender, this is used for all font families
When a uiBlock is created, each uiButton that is defined gets the uiBlock properties.
Changing Block properties inbetween will affact uiButtons defined thereafter.
Changing Block properties in between will affact uiButtons defined thereafter.
@ -217,7 +217,7 @@ void uiBlockSetButmFunc(uiBlock *block, void (*menufunc)(void *arg, int event),
void uiAutoBlock(uiBlock *block, float minx, float miny, float sizex, float sizey, UI_BLOCK_ROWS)
Sets the buttons in this block to automatically align, and fit within boundaries.
Internally it allows multiple colums or rows as well. Only 'row order' has been implemented.
Internally it allows multiple columns or rows as well. Only 'row order' has been implemented.
The uiDefBut definitions don't need coordinates as input here, but instead:
- first value (x1) to indicate row number
- width and height values (if filled in) will be used to define a relative width/height.
@ -253,7 +253,7 @@ In Blender a button can do four things:
Internally, each button or menu item is a 'uiButton', with a generic API and handling:
ui_def_but(block, type, retval, str, x1, y1, x2, y2, poin, min, max, a1, a2, tip);
Beacause a lot of obscure generic (re-use) happens here, translation calls have been made
Because a lot of obscure generic (re-use) happens here, translation calls have been made
for each most button types individually.
@ -442,7 +442,7 @@ uiDefIconBut(block, INLINK, 0, ICON_INLINK, x1, y1, w, h, void *poin, short from
------------- 4.5 uiButton control fuctions
------------- 4.5 uiButton control functions
void uiButSetFunc(uiBut *but, void (*func)(void *arg1, void *arg2), void *arg1, void *arg2)

@ -26,5 +26,5 @@ col += mathutils.Color((0.25, 0.0, 0.0))
# can printed as integers
print("Color: %d, %d, %d" % (col * 255.0)[:])
# This example prints the color as hexidecimal
print("Hexidecimal: %.2x%.2x%.2x" % (col * 255.0)[:])
# This example prints the color as hexadecimal
print("Hexadecimal: %.2x%.2x%.2x" % (col * 255.0)[:])

@ -15,7 +15,7 @@ quat_a = mathutils.Quaternion((0.0, 1.0, 0.0), math.radians(90.0))
quat_b = mathutils.Quaternion((0.0, 0.0, 1.0), math.radians(45.0))
quat_out = quat_a * quat_b
# print the quat, euler degrees for mear mortals and (axis, angle)
# print the quat, euler degrees for mere mortals and (axis, angle)
print("Final Rotation:")
print(quat_out)
print("%.2f, %.2f, %.2f" % tuple(math.degrees(a) for a in quat_out.to_euler()))

@ -69,7 +69,7 @@ offers a set of extensive examples, including advanced features.
.. function:: glBegin(mode):
Delimit the vertices of a primitive or a group of like primatives
Delimit the vertices of a primitive or a group of like primitives
.. seealso:: `OpenGL Docs <https://www.opengl.org/sdk/docs/man2/xhtml/glBegin.xml>`__

@ -145,8 +145,8 @@ that happens to redraw but is more flexible and integrates better with Blenders
**Ok, Ok! I still want to draw from Python**
If you insist - yes its possible, but scripts that use this hack wont be considered
for inclusion in Blender and any issues with using it wont be considered bugs,
If you insist - yes its possible, but scripts that use this hack won't be considered
for inclusion in Blender and any issues with using it won't be considered bugs,
this is also not guaranteed to work in future releases.
.. code-block:: python
@ -265,7 +265,7 @@ All 3 data types can be used for exporting,
the choice mostly depends on whether the target format supports ngons or not.
- Polygons are the most direct & efficient way to export providing they convert into the output format easily enough.
- Tessfaces work well for exporting to formats which dont support ngons,
- Tessfaces work well for exporting to formats which don't support ngons,
in fact this is the only place where their use is encouraged.
- BMesh-Faces can work for exporting too but may not be necessary if polygons can be used
since using bmesh gives some overhead because its not the native storage format in object mode.
@ -551,7 +551,7 @@ to avoid getting stuck too deep in encoding problems - here are some suggestions
.. note::
Sometimes it's preferrable to avoid string encoding issues by using bytes instead of Python strings,
Sometimes it's preferable to avoid string encoding issues by using bytes instead of Python strings,
when reading some input its less trouble to read it as binary data
though you will still need to decide how to treat any strings you want to use with Blender,
some importers do this.

@ -209,7 +209,7 @@ Bundled Python & Extensions
===========================
The Blender releases distributed from blender.org include a complete Python installation on all platforms,
this has the disadvantage that any extensions you have installed in your systems Python wont be found by Blender.
this has the disadvantage that any extensions you have installed in your systems Python won't be found by Blender.
There are 2 ways around this:

@ -303,7 +303,7 @@ def main():
elif tp_sub == BMO_OP_SLOT_SUBTYPE_PTR_MESH:
tp_str = ":class:`bpy.types.Mesh`"
else:
print("Cant find", vars_dict_reverse[tp_sub])
print("Can't find", vars_dict_reverse[tp_sub])
assert(0)
elif tp == BMO_OP_SLOT_ELEMENT_BUF:
@ -340,10 +340,10 @@ def main():
elif tp_sub == BMO_OP_SLOT_SUBTYPE_MAP_INTERNAL:
tp_str += "unknown internal data, not compatible with python"
else:
print("Cant find", vars_dict_reverse[tp_sub])
print("Can't find", vars_dict_reverse[tp_sub])
assert(0)
else:
print("Cant find", vars_dict_reverse[tp])
print("Can't find", vars_dict_reverse[tp])
assert(0)
args_wash.append((name, tp_str, comment))

@ -113,7 +113,7 @@ def api_dump():
)
del props
# python props, tricky since we dont know much about them.
# python props, tricky since we don't know much about them.
for prop_id, attr in struct_info.get_py_properties():
dump_class[prop_id] = (
@ -289,7 +289,7 @@ def api_changelog(api_from, api_to, api_out):
if props_old:
write_title("Removed", "^")
for prop_id in props_old:
fw("* **%s**\n" % prop_id) # cant link to remvoed docs
fw("* **%s**\n" % prop_id) # can't link to removed docs
fw("\n")
if props_moved:
@ -351,7 +351,7 @@ def main():
"--api_out", dest="api_out", metavar='FILE',
help="Output sphinx changelog")
args = parser.parse_args(argv) # In this example we wont use the args
args = parser.parse_args(argv) # In this example we won't use the args
if not argv:
print("No args given!")

@ -491,7 +491,7 @@ if ARGS.sphinx_build_pdf:
# --------------------------------API DUMP--------------------------------------
# lame, python wont give some access
# lame, python won't give some access
ClassMethodDescriptorType = type(dict.__dict__['fromkeys'])
MethodDescriptorType = type(dict.get)
GetSetDescriptorType = type(int.real)
@ -690,7 +690,7 @@ def pyfunc2sphinx(ident, fw, module_name, type_name, identifier, py_func, is_cla
if not is_class:
func_type = "function"
# ther rest are class methods
# the rest are class methods
elif arg_str.startswith("(self, ") or arg_str == "(self)":
arg_str = "()" if (arg_str == "(self)") else ("(" + arg_str[7:])
func_type = "method"
@ -824,7 +824,7 @@ def pymodule2sphinx(basepath, module_name, module, title):
fw(".. module:: %s\n\n" % module_name)
if module.__doc__:
# Note, may contain sphinx syntax, dont mangle!
# Note, may contain sphinx syntax, don't mangle!
fw(module.__doc__.strip())
fw("\n\n")
@ -1120,7 +1120,7 @@ def pycontext2sphinx(basepath):
def write_contex_cls():
fw(title_string("Global Context", "-"))
fw("These properties are avilable in any contexts.\n\n")
fw("These properties are available in any contexts.\n\n")
# very silly. could make these global and only access once.
# structs, funcs, ops, props = rna_info.BuildRNAInfo()
@ -1144,7 +1144,7 @@ def pycontext2sphinx(basepath):
if prop.description:
fw(" %s\n\n" % prop.description)
# special exception, cant use genric code here for enums
# special exception, can't use generic code here for enums
if prop.type == "enum":
enum_text = pyrna_enum2sphinx(prop)
if enum_text:
@ -1266,7 +1266,7 @@ def pyrna2sphinx(basepath):
if prop.name or prop.description:
fw(ident + " " + ", ".join(val for val in (prop.name, prop.description) if val) + "\n\n")
# special exception, cant use genric code here for enums
# special exception, can't use generic code here for enums
if enum_text:
write_indented_lines(ident + " ", fw, enum_text)
fw("\n")
@ -1365,7 +1365,7 @@ def pyrna2sphinx(basepath):
if prop.description:
fw(" %s\n\n" % prop.description)
# special exception, cant use genric code here for enums
# special exception, can't use generic code here for enums
if prop.type == "enum":
enum_text = pyrna_enum2sphinx(prop)
if enum_text:
@ -1398,7 +1398,7 @@ def pyrna2sphinx(basepath):
elif func.return_values: # multiple return values
fw(" :return (%s):\n" % ", ".join(prop.identifier for prop in func.return_values))
for prop in func.return_values:
# TODO, pyrna_enum2sphinx for multiple return values... actually dont
# TODO, pyrna_enum2sphinx for multiple return values... actually don't
# think we even use this but still!!!
type_descr = prop.get_type_description(
as_ret=True, class_fmt=":class:`%s`", collection_id=_BPY_PROP_COLLECTION_ID)

@ -58,7 +58,7 @@ SPHINX_WORKDIR="$(mktemp --directory --suffix=.sphinx)"
# Generate reStructuredText (blender/python only)
if $DO_EXE_BLENDER ; then
# dont delete existing docs, now partial updates are used for quick builds.
# don't delete existing docs, now partial updates are used for quick builds.
$BLENDER_BIN \
--background \
-noaudio \
@ -89,7 +89,7 @@ if $DO_OUT_HTML ; then
# and zip up there, for now this is OK
rm -rf sphinx-out/.doctrees
# incase we have a zip already
# in case we have a zip already
rm -f blender_python_reference_$BLENDER_VERSION.zip
# ------------------------------------------------------------------------

@ -881,7 +881,7 @@ class pyBluePrintCirclesShader(StrokeShader):
# times as possible.
#
# This works because the phases and directions are only
# dependant on the stroke length, and the chance that
# dependent on the stroke length, and the chance that
# stroke.resample() above produces strokes of the same length
# is quite high.
#

@ -352,7 +352,7 @@ def enable(module_name, *, default_set=False, persistent=False, handle_error=Non
mod.__time__ = os.path.getmtime(mod.__file__)
mod.__addon_enabled__ = False
except Exception as ex:
# if the addon doesn't exist, dont print full traceback
# if the addon doesn't exist, don't print full traceback
if type(ex) is ImportError and ex.name == module_name:
print("addon not found:", repr(module_name))
else:

@ -34,7 +34,7 @@ IS_TESTING = False
def drepr(string):
# is there a less crappy way to do this in python?, re.escape also escapes
# single quotes strings so cant use it.
# single quotes strings so can't use it.
return '"%s"' % repr(string)[1:-1].replace("\"", "\\\"").replace("\\'", "'")

@ -248,7 +248,7 @@ def dump_rna_messages(msgs, reports, settings, verbose=False):
# Now here is the *ugly* hack!
# Unfortunately, all classes we want to access are not available from bpy.types (OperatorProperties subclasses
# are not here, as they have the same name as matching Operator ones :( ). So we use __subclasses__() calls
# to walk through all rna hierachy.
# to walk through all rna hierarchy.
# But unregistered classes remain listed by relevant __subclasses__() calls (be it a Py or BPY/RNA bug),
# and obviously the matching RNA struct exists no more, so trying to access their data (even the identifier)
# quickly leads to segfault!
@ -498,7 +498,7 @@ def dump_py_messages_from_files(msgs, reports, files, settings):
def extract_strings_split(node):
"""
Returns a list args as returned by 'extract_strings()', but split into groups based on separate_nodes, this way
expressions like ("A" if test else "B") wont be merged but "A" + "B" will.
expressions like ("A" if test else "B") won't be merged but "A" + "B" will.
"""
estr_ls = []
nds_ls = []

@ -262,7 +262,7 @@ PYGETTEXT_KEYWORDS = (() +
# Check printf mismatches between msgid and msgstr.
CHECK_PRINTF_FORMAT = (
r"(?!<%)(?:%%)*%" # Begining, with handling for crazy things like '%%%%%s'
r"(?!<%)(?:%%)*%" # Beginning, with handling for crazy things like '%%%%%s'
r"[-+#0]?" # Flags (note: do not add the ' ' (space) flag here, generates too much false positives!)
r"(?:\*|[0-9]+)?" # Width
r"(?:\.(?:\*|[0-9]+))?" # Precision

@ -457,7 +457,7 @@ class I18nMessages:
def check(self, fix=False):
"""
Check consistency between messages and their keys!
Check messages using format stuff are consistant between msgid and msgstr!
Check messages using format stuff are consistent between msgid and msgstr!
If fix is True, tries to fix the issues.
Return a list of found errors (empty if everything went OK!).
"""

@ -28,7 +28,7 @@
# Windows or OsX.
# This uses ctypes, as there is no py3 binding for fribidi currently.
# This implies you only need the compiled C library to run it.
# Finally, note that it handles some formating/escape codes (like
# Finally, note that it handles some formatting/escape codes (like
# \", %s, %x12, %.4f, etc.), protecting them from ugly (evil) fribidi,
# which seems completely unaware of such things (as unicode is...).
@ -79,7 +79,7 @@ MENU_DETECT_REGEX = re.compile("%x\\d+\\|")
##### Kernel processing funcs. #####
def protect_format_seq(msg):
"""
Find some specific escaping/formating sequences (like \", %s, etc.,
Find some specific escaping/formatting sequences (like \", %s, etc.,
and protect them from any modification!
"""
# LRM = "\u200E"

@ -22,7 +22,7 @@
# This module can get render info without running from inside blender.
#
# This struct wont change according to Ton.
# This struct won't change according to Ton.
# Note that the size differs on 32/64bit
#
# typedef struct BHead {

@ -301,7 +301,7 @@ def resolve_ncase(path):
if f_iter_nocase:
return _os.path.join(dirpath, f_iter_nocase) + suffix, True
else:
# cant find the right one, just return the path as is.
# can't find the right one, just return the path as is.
return path, False
ncase_path, found = _ncase_path_found(path)

@ -32,7 +32,7 @@ __all__ = (
def mesh_linked_uv_islands(mesh):
"""
Splits the mesh into connected polygons, use this for seperating cubes from
Splits the mesh into connected polygons, use this for separating cubes from
other mesh elements within 1 mesh datablock.
:arg mesh: the mesh used to group with.
@ -92,7 +92,7 @@ def mesh_linked_uv_islands(mesh):
def mesh_linked_tessfaces(mesh):
"""
Splits the mesh into connected faces, use this for seperating cubes from
Splits the mesh into connected faces, use this for separating cubes from
other mesh elements within 1 mesh datablock.
:arg mesh: the mesh used to group with.
@ -182,7 +182,7 @@ def edge_loops_from_tessfaces(mesh, tessfaces=None, seams=()):
Edge loops defined by faces
Takes me.tessfaces or a list of faces and returns the edge loops
These edge loops are the edges that sit between quads, so they dont touch
These edge loops are the edges that sit between quads, so they don't touch
1 quad, note: not connected will make 2 edge loops,
both only containing 2 edges.
@ -252,7 +252,7 @@ def edge_loops_from_tessfaces(mesh, tessfaces=None, seams=()):
i = ed_adj.index(context_loop[-2])
context_loop.append(ed_adj[not i])
# Dont look at this again
# Don't look at this again
del ed_adj[:]
return edge_loops
@ -377,7 +377,7 @@ def ngon_tessellate(from_data, indices, fix_loops=True):
else:
"""
Seperate this loop into multiple loops be finding edges that are
Separate this loop into multiple loops be finding edges that are
used twice. This is used by lightwave LWO files a lot
"""

@ -37,7 +37,7 @@ changes have been made:
- limit list of modules to prefix in case of "from w"
- sorted modules
- added sphinx documentation
- complete() returns a blank list of the module isnt found
- complete() returns a blank list of the module isn't found
"""

@ -68,7 +68,7 @@ def get_console(console_id):
# check if clearing the namespace is needed to avoid a memory leak.
# the window manager is normally loaded with new blend files
# so this is a reasonable way to deal with namespace clearing.
# bpy.data hashing is reset by undo so cant be used.
# bpy.data hashing is reset by undo so can't be used.
hash_prev = getattr(get_console, "consoles_namespace_hash", 0)
if hash_prev != hash_next:

@ -83,7 +83,7 @@ def float_as_string(f):
def get_py_class_from_rna(rna_type):
""" Get's the Python type for a class which isn't necessarily added to ``bpy.types``.
""" Gets the Python type for a class which isn't necessarily added to ``bpy.types``.
"""
identifier = rna_type.identifier
py_class = getattr(bpy.types, identifier, None)

@ -32,7 +32,7 @@ def build_property_typemap(skip_classes, skip_typemap):
if issubclass(cls, skip_classes):
continue
# # to support skip-save we cant get all props
# # to support skip-save we can't get all props
# properties = cls.bl_rna.properties.keys()
properties = []
for prop_id, prop in cls.bl_rna.properties.items():
@ -149,7 +149,7 @@ def rna2xml(fw=print_ln,
subvalue_rna = value.path_resolve(prop, False)
if type(subvalue_rna).__name__ == "bpy_prop_array":
# check if this is a 0-1 color (rgb, rgba)
# in that case write as a hexidecimal
# in that case write as a hexadecimal
prop_rna = value.bl_rna.properties[prop]
if (prop_rna.subtype == 'COLOR_GAMMA' and
prop_rna.hard_min == 0.0 and
@ -274,7 +274,7 @@ def xml2rna(root_xml,
tp_name = 'STR'
elif hasattr(subvalue, "__len__"):
if value_xml.startswith("#"):
# read hexidecimal value as float array
# read hexadecimal value as float array
value_xml_split = value_xml[1:]
value_xml_coerce = [int(value_xml_split[i:i + 2], 16) /
255 for i in range(0, len(value_xml_split), 2)]

@ -473,7 +473,7 @@ class ShapeTransfer(Operator):
objects = [ob for ob in context.selected_editable_objects
if ob != ob_act]
if 1: # swap from/to, means we cant copy to many at once.
if 1: # swap from/to, means we can't copy to many at once.
if len(objects) != 1:
self.report({'ERROR'},
("Expected one other selected "

@ -52,7 +52,7 @@ def extend(obj, operator, EXTEND_MODE):
# our own local walker
def walk_face_init(faces, f_act):
# first tag all faces True (so we dont uvmap them)
# first tag all faces True (so we don't uvmap them)
for f in bm.faces:
f.tag = True
# then tag faces arg False

@ -450,7 +450,7 @@ def lightmap_uvpack(meshes,
max_int_dimension = int(((side_len / float_to_int_factor)) / PREF_BOX_DIV)
ok = True
else:
max_int_dimension = 0.0 # wont be used
max_int_dimension = 0.0 # won't be used
ok = False
# RECURSIVE pretty face grouping

@ -271,7 +271,7 @@ def optiRotateUvIsland(faces):
# orient them vertically (could be an option)
minx, miny, maxx, maxy = boundsIsland(faces)
w, h = maxx - minx, maxy - miny
# use epsilon so we dont randomly rotate (almost) perfect squares.
# use epsilon so we don't randomly rotate (almost) perfect squares.
if h + 0.00001 < w:
from math import pi
angle = pi / 2.0
@ -357,7 +357,7 @@ def mergeUvIslands(islandList):
BREAK = True
break
# Now we have 2 islands, if the efficiency of the islands lowers theres an
# Now we have 2 islands, if the efficiency of the islands lowers there's an
# increasing likely hood that we can fit merge into the bigger UV island.
# this ensures a tight fit.
@ -625,7 +625,7 @@ def packIslands(islandList):
h = SMALL_NUM
"""Save the offset to be applied later,
we could apply to the UVs now and allign them to the bottom left hand area
we could apply to the UVs now and align them to the bottom left hand area
of the UV coords like the box packer imagines they are
but, its quicker just to remember their offset and
apply the packing and offset in 1 pass """
@ -873,7 +873,7 @@ def main(context,
# This while only gathers projection vecs, faces are assigned later on.
while 1:
# If theres none there then start with the largest face
# If there's none there then start with the largest face
# add all the faces that are close.
for fIdx in range(len(tempMeshFaces) - 1, -1, -1):

@ -98,7 +98,7 @@ def operator_path_is_undo(context, data_path):
# note that if we have data paths that use strings this could fail
# luckily we don't do this!
#
# When we cant find the data owner assume no undo is needed.
# When we can't find the data owner assume no undo is needed.
data_path_head = data_path.rpartition(".")[0]
if not data_path_head:

@ -944,7 +944,7 @@ class CLIP_PT_stabilization(CLIP_PT_reconstruction_panel, Panel):
sub.menu('CLIP_MT_stabilize_2d_specials', text="",
icon='DOWNARROW_HLT')
# Usually we don't hide things from iterface, but here every pixel of
# Usually we don't hide things from interface, but here every pixel of
# vertical space is precious.
if stab.use_stabilize_rotation:
box.label(text="Tracks For Rotation / Scale")

@ -1294,7 +1294,7 @@ class INFO_MT_add(Menu):
def draw(self, context):
layout = self.layout
# note, don't use 'EXEC_SCREEN' or operators wont get the 'v3d' context.
# note, don't use 'EXEC_SCREEN' or operators won't get the 'v3d' context.
# Note: was EXEC_AREA, but this context does not have the 'rv3d', which prevents
# "align_view" to work on first call (see [#32719]).

@ -95,7 +95,7 @@ def main():
help="Render an image to the specified path",
)
args = parser.parse_args(argv) # In this example we wont use the args
args = parser.parse_args(argv) # In this example we won't use the args
if not argv:
parser.print_help()

@ -53,7 +53,7 @@ public:
/**
* Returns true when either Blender is compiled with HDF5 support and
* the archive was succesfully opened (valid() will also return true),
* the archive was successfully opened (valid() will also return true),
* or when Blender was built without HDF5 support but a HDF5 file was
* detected (valid() will return false).
*/

@ -154,7 +154,7 @@ void AbcCurveWriter::do_write()
if (nurbs->knotsu != NULL) {
const size_t num_knots = KNOTSU(nurbs);
/* Add an extra knot at the beggining and end of the array since most apps
/* Add an extra knot at the beginning and end of the array since most apps
* require/expect them. */
knots.resize(num_knots + 2);

@ -103,7 +103,7 @@ static void get_knots(std::vector<float> &knots, const int num_knots, float *nu_
return;
}
/* Add an extra knot at the beggining and end of the array since most apps
/* Add an extra knot at the beginning and end of the array since most apps
* require/expect them. */
knots.reserve(num_knots + 2);
@ -167,7 +167,7 @@ void AbcNurbsWriter::do_write()
sample.setNu(nu->pntsu);
sample.setNv(nu->pntsv);
/* TODO(kevin): to accomodate other software we should duplicate control
/* TODO(kevin): to accommodate other software we should duplicate control
* points to indicate that a NURBS is cyclic. */
OCompoundProperty user_props = m_nurbs_schema[count].getUserProperties();

@ -167,7 +167,7 @@ typedef enum {
} AbcAxisSwapMode;
/* Create a rotation matrix for each axis from euler angles.
* Euler angles are swaped to change coordinate system. */
* Euler angles are swapped to change coordinate system. */
void create_swapped_rotation_matrix(
float rot_x_mat[3][3], float rot_y_mat[3][3],
float rot_z_mat[3][3], const float euler[3],
@ -197,7 +197,7 @@ public:
/* *************************** */
/**
* Utility class whose purpose is to more easily log related informations. An
* Utility class whose purpose is to more easily log related information. An
* instance of the SimpleLogger can be created in any context, and will hold a
* copy of all the strings passed to its output stream.
*

@ -293,7 +293,7 @@ static void export_endjob(void *customdata)
if (!data->settings.logger.empty()) {
std::cerr << data->settings.logger;
WM_report(RPT_ERROR, "Errors occured during the export, look in the console to know more...");
WM_report(RPT_ERROR, "Errors occurred during the export, look in the console to know more...");
}
G.is_rendering = false;
@ -318,7 +318,7 @@ bool ABC_export(
* ExportJobData contains an ExportSettings containing a SimpleLogger.
*
* Since ExportJobData is a C-style struct dynamically allocated with
* MEM_mallocN (see above), its construtor is never called, therefore the
* MEM_mallocN (see above), its constructor is never called, therefore the
* ExportSettings constructor is not called which implies that the
* SimpleLogger one is not called either. SimpleLogger in turn does not call
* the constructor of its data members which ultimately means that its
@ -797,7 +797,7 @@ static void import_endjob(void *user_data)
for (iter = data->readers.begin(); iter != data->readers.end(); ++iter) {
Object *ob = (*iter)->object();
/* It's possible that cancellation occured between the creation of
/* It's possible that cancellation occurred between the creation of
* the reader and the creation of the Blender object. */
if (ob == NULL) continue;

@ -85,7 +85,7 @@ public:
/**
* This method will be called if an error in the loading process occurred and the loader cannot
* continue to load. The writer should undo all operations that have been performed.
* \param errorMessage A message containing informations about the error that occurred.
* \param errorMessage A message containing information about the error that occurred.
*/
void cancel(const COLLADAFW::String& errorMessage);

@ -709,7 +709,7 @@ int ANIM_scene_get_keyingset_index(Scene *scene, KeyingSet *ks)
}
/* Get Keying Set to use for Auto-Keyframing some transforms */
KeyingSet *ANIM_get_keyingset_for_autokeying(Scene *scene, const char *tranformKSName)
KeyingSet *ANIM_get_keyingset_for_autokeying(Scene *scene, const char *transformKSName)
{
/* get KeyingSet to use
* - use the active KeyingSet if defined (and user wants to use it for all autokeying),
@ -720,7 +720,7 @@ KeyingSet *ANIM_get_keyingset_for_autokeying(Scene *scene, const char *tranformK
else if (IS_AUTOKEY_FLAG(scene, INSERTAVAIL))
return ANIM_builtin_keyingset_get_named(NULL, ANIM_KS_AVAILABLE_ID);
else
return ANIM_builtin_keyingset_get_named(NULL, tranformKSName);
return ANIM_builtin_keyingset_get_named(NULL, transformKSName);
}
/* Menu of All Keying Sets ----------------------------- */

@ -979,7 +979,7 @@ int load(istream& in, ViewMap *vm, ProgressBar *pb)
READ(flags);
Options::setFlags(flags);
// Read the size of the five ViewMap's lists (with some extra informations for the ViewVertices)
// Read the size of the five ViewMap's lists (with some extra information for the ViewVertices)
// and instantiate them (with default costructors)
unsigned vs_s, fe_s, fe_rle1, fe_rle2, sv_s, ve_s, vv_s, vv_rle1, vv_rle2;
READ(vs_s);
@ -1118,7 +1118,7 @@ int save(ostream& out, ViewMap *vm, ProgressBar *pb)
unsigned char flags = Options::getFlags();
WRITE(flags);
// Write the size of the five lists (with some extra informations for the ViewVertices)
// Write the size of the five lists (with some extra information for the ViewVertices)
unsigned size;
size = vm->ViewShapes().size();
WRITE(size);

@ -67,7 +67,7 @@ typedef struct DDSData {
*/
/* ibuf->ftype flag, main image types */
/* Warning: Keep explicit value assignements here, this file is included in areas where not all format defines
/* Warning: Keep explicit value assignments here, this file is included in areas where not all format defines
* are set (e.g. intern/dds only get WITH_DDS, even if TIFF, HDR etc are also defined). See T46524. */
enum eImbTypes {
IMB_FTYPE_PNG = 1,
@ -254,7 +254,7 @@ typedef struct ImBuf {
#define IB_tilecache (1 << 11)
#define IB_alphamode_premul (1 << 12) /* indicates whether image on disk have premul alpha */
#define IB_alphamode_detect (1 << 13) /* if this flag is set, alpha mode would be guessed from file */
#define IB_ignore_alpha (1 << 14) /* ignore alpha on load and substitude it with 1.0f */
#define IB_ignore_alpha (1 << 14) /* ignore alpha on load and substitute it with 1.0f */
#define IB_thumbnail (1 << 15)
#define IB_multiview (1 << 16)

@ -1269,7 +1269,7 @@ static ImBuf *anim_getnew(struct anim *anim)
#ifdef WITH_AVI
case ANIM_AVI:
if (startavi(anim)) {
printf("couldnt start avi\n");
printf("couldn't start avi\n");
return (NULL);
}
ibuf = IMB_allocImBuf(anim->x, anim->y, 24, 0);

@ -1394,7 +1394,7 @@ uint DirectDrawSurface::mipmapSize(uint mipmap) const
}
else if (header.pf.flags & DDPF_RGB || (header.pf.flags & DDPF_LUMINANCE))
{
uint pitch = computePitch(w, header.pf.bitcount, 8); // Asuming 8 bit alignment, which is the same D3DX expects.
uint pitch = computePitch(w, header.pf.bitcount, 8); // Assuming 8 bit alignment, which is the same D3DX expects.
return pitch * h * d;
}

@ -380,7 +380,7 @@ static void do_moviecache_put(MovieCache *cache, void *userkey, ImBuf *ibuf, boo
if (need_lock)
BLI_mutex_unlock(&limitor_lock);
/* cache limiter can't remove unused keys which points to destoryed values */
/* cache limiter can't remove unused keys which points to destroyed values */
check_unused_keys(cache);
if (cache->points) {

@ -1021,7 +1021,7 @@ void IMB_exr_write_channels(void *handle)
}
for (echan = (ExrChannel *)data->channels.first; echan; echan = echan->next) {
/* Writting starts from last scanline, stride negative. */
/* Writing starts from last scanline, stride negative. */
if (echan->use_half_float) {
float *rect = echan->rect;
half *cur = current_rect_half;

@ -367,7 +367,7 @@ static void complete_partial_load(struct ImBuf *ibuf, unsigned int *rect)
memset(rect, 0, size);
}
else {
/* shouldnt happen */
/* shouldn't happen */
printf("decodetarga: incomplete file, all pixels written\n");
}
}

@ -362,7 +362,7 @@ static ImBuf *thumb_create_ex(
}
else {
if (ELEM(source, THB_SOURCE_IMAGE, THB_SOURCE_BLEND, THB_SOURCE_FONT)) {
/* only load if we didnt give an image */
/* only load if we didn't give an image */
if (img == NULL) {
switch (source) {
case THB_SOURCE_IMAGE:

@ -551,7 +551,7 @@ static DerivedMesh *arrayModifier_doArray(
DM_copy_loop_data(dm, result, 0, 0, chunk_nloops);
DM_copy_poly_data(dm, result, 0, 0, chunk_npolys);
/* Subsurf for eg wont have mesh data in the custom data arrays.
/* Subsurf for eg won't have mesh data in the custom data arrays.
* now add mvert/medge/mpoly layers. */
if (!CustomData_has_layer(&dm->vertData, CD_MVERT)) {

@ -67,7 +67,7 @@ typedef struct LaplacianSystem {
float (*co)[3]; /* Original vertex coordinates */
float (*no)[3]; /* Original vertex normal */
float (*delta)[3]; /* Differential Coordinates */
unsigned int (*tris)[3]; /* Copy of MLoopTri (tesselation triangle) v1-v3 */
unsigned int (*tris)[3]; /* Copy of MLoopTri (tessellation triangle) v1-v3 */
int *index_anchors; /* Static vertex index list */
int *unit_verts; /* Unit vectors of projected edges onto the plane orthogonal to n */
int *ringf_indices; /* Indices of faces per vertex */
@ -209,7 +209,7 @@ static void createVertRingMap(
/**
* This method computes the Laplacian Matrix and Differential Coordinates for all vertex in the mesh.
* The Linear system is LV = d
* Where L is Laplacian Matrix, V as the vertexes in Mesh, d is the differential coordinates
* Where L is Laplacian Matrix, V as the vertices in Mesh, d is the differential coordinates
* The Laplacian Matrix is computes as a
* Lij = sum(Wij) (if i == j)
* Lij = Wij (if i != j)
@ -219,7 +219,7 @@ static void createVertRingMap(
* di = Vi * sum(Wij) - sum(Wij * Vj)
* Where :
* di is the Differential Coordinate i
* sum (Wij) is the sum of all weights between vertex Vi and its vertexes neighbors (Vj)
* sum (Wij) is the sum of all weights between vertex Vi and its vertices neighbors (Vj)
* sum (Wij * Vj) is the sum of the product between vertex neighbor Vj and weight Wij for all neighborhood.
*
* This Laplacian Matrix is described in the paper:

@ -60,8 +60,8 @@ struct BLaplacianSystem {
int numLoops; /* Number of edges*/
int numPolys; /* Number of faces*/
int numVerts; /* Number of verts*/
short *numNeFa; /* Number of neighboors faces around vertice*/
short *numNeEd; /* Number of neighboors Edges around vertice*/
short *numNeFa; /* Number of neighbors faces around vertice*/
short *numNeEd; /* Number of neighbors Edges around vertice*/
short *zerola; /* Is zero area or length*/
/* Pointers to data*/
@ -268,7 +268,7 @@ static void init_laplacian_matrix(LaplacianSystem *sys)
for (i = 0; i < sys->numEdges; i++) {
idv1 = sys->medges[i].v1;
idv2 = sys->medges[i].v2;
/* if is boundary, apply scale-dependent umbrella operator only with neighboors in boundary */
/* if is boundary, apply scale-dependent umbrella operator only with neighbors in boundary */
if (sys->numNeEd[idv1] != sys->numNeFa[idv1] && sys->numNeEd[idv2] != sys->numNeFa[idv2]) {
sys->vlengths[idv1] += sys->eweights[i];
sys->vlengths[idv2] += sys->eweights[i];

@ -144,7 +144,7 @@ static DerivedMesh *doMirrorOnAxis(
DM_copy_poly_data(dm, result, 0, 0, maxPolys);
/* Subsurf for eg wont have mesh data in the custom data arrays.
/* Subsurf for eg won't have mesh data in the custom data arrays.
* now add mvert/medge/mpoly layers. */
if (!CustomData_has_layer(&dm->vertData, CD_MVERT)) {

@ -57,7 +57,7 @@
/* used for gathering edge connectivity */
typedef struct ScrewVertConnect {
float dist; /* distance from the center axis */
float co[3]; /* loaction relative to the transformed axis */
float co[3]; /* location relative to the transformed axis */
float no[3]; /* calc normal of the vertex */
unsigned int v[2]; /* 2 verts on either side of this one */
MEdge *e[2]; /* edges on either side, a bit of a waste since each edge ref's 2 edges */
@ -297,7 +297,7 @@ static DerivedMesh *applyModifier(
/* angle */
#if 0 /* cant incluide this, not predictable enough, though quite fun. */
#if 0 /* can't include this, not predictable enough, though quite fun. */
if (ltmd->flag & MOD_SCREW_OBJECT_ANGLE) {
float mtx3_tx[3][3];
copy_m3_m4(mtx3_tx, mtx_tx);
@ -673,7 +673,7 @@ static DerivedMesh *applyModifier(
if (tmpf1[ltmd->axis] < vc_tmp->co[ltmd->axis]) { /* best is above */
ed_loop_flip = 1;
}
else { /* best is below or even... in even case we cant know whet to do. */
else { /* best is below or even... in even case we can't know what to do. */
ed_loop_flip = 0;
}
@ -809,7 +809,7 @@ static DerivedMesh *applyModifier(
copy_v3_v3(vc->no, vc->co);
}
/* we wont be looping on this data again so copy normals here */
/* we won't be looping on this data again so copy normals here */
if ((angle < 0.0f) != do_flip)
negate_v3(vc->no);
@ -897,7 +897,7 @@ static DerivedMesh *applyModifier(
}
if (close) {
/* last loop of edges, previous loop dosnt account for the last set of edges */
/* last loop of edges, previous loop doesn't account for the last set of edges */
const unsigned int varray_stride = (step_tot - 1) * totvert;
for (i = 0; i < totvert; i++) {

@ -50,7 +50,7 @@
#define BEND_EPS 0.000001f
/* Re-maps the indicies for X Y Z by shifting them up and wrapping, such that
/* Re-maps the indices for X Y Z by shifting them up and wrapping, such that
* X = Y, Y = Z, Z = X (for X axis), and X = Z, Y = X, Z = Y (for Y axis). This
* exists because the deformations (excluding bend) are based on the Z axis.
* Having this helps avoid long, drawn out switches. */
@ -199,7 +199,7 @@ static void SimpleDeformModifier_do(
/* This is historically the lock axis, _not_ the deform axis as the name would imply */
const int deform_axis = smd->deform_axis;
int lock_axis = smd->axis;
if (smd->mode == MOD_SIMPLEDEFORM_MODE_BEND) { /* Bend mode shouln't have any lock axis */
if (smd->mode == MOD_SIMPLEDEFORM_MODE_BEND) { /* Bend mode shouldn't have any lock axis */
lock_axis = 0;
}
else {
@ -263,7 +263,7 @@ static void SimpleDeformModifier_do(
}
/* SMD values are normalized to the BV, calculate the absolut values */
/* SMD values are normalized to the BV, calculate the absolute values */
smd_limit[1] = lower + (upper - lower) * smd->limit[1];
smd_limit[0] = lower + (upper - lower) * smd->limit[0];

@ -813,7 +813,7 @@ static DerivedMesh *applyModifier(
mp->flag = mpoly[fidx].flag;
/* notice we use 'mp->totloop' which is later overwritten,
* we could lookup the original face but theres no point since this is a copy
* we could lookup the original face but there's no point since this is a copy
* and will have the same value, just take care when changing order of assignment */
k1 = mpoly[fidx].loopstart + (((edge_order[eidx] - 1) + mp->totloop) % mp->totloop); /* prev loop */
k2 = mpoly[fidx].loopstart + (edge_order[eidx]);

@ -1035,7 +1035,7 @@ static bool surfacedeformBind(
}
else if (data.success == MOD_SDEF_BIND_RESULT_GENERIC_ERR) {
/* I know this message is vague, but I could not think of a way
* to explain this whith a reasonably sized message.
* to explain this with a reasonably sized message.
* Though it shouldn't really matter all that much,
* because this is very unlikely to occur */
modifier_setError((ModifierData *)smd, "Target contains invalid polygons");

@ -81,7 +81,7 @@ typedef struct Vert2GeomData {
float *dist[3];
} Vert2GeomData;
/* Data which is localized to each computed chunk (i.e. thread-safe, and with continous subset of index range). */
/* Data which is localized to each computed chunk (i.e. thread-safe, and with continuous subset of index range). */
typedef struct Vert2GeomDataChunk {
/* Read-only data */
float last_hit_co[3][3];

@ -143,7 +143,7 @@ void node_gpu_stack_from_data(struct GPUNodeStack *gs, int type, bNodeStack *ns)
memset(gs, 0, sizeof(*gs));
if (ns == NULL) {
/* node_get_stack() will generate NULL bNodeStack pointers for unknown/unsuported types of sockets... */
/* node_get_stack() will generate NULL bNodeStack pointers for unknown/unsupported types of sockets... */
zero_v4(gs->vec);
gs->link = NULL;
gs->type = GPU_NONE;

@ -510,7 +510,7 @@ static int bpy_slot_from_py(
}
/**
* Use for getting return values from an operator thats already executed.
* Use for getting return values from an operator that's already executed.
*
* \note Don't throw any exceptions and should always return a valid (PyObject *).
*/

@ -2453,7 +2453,7 @@ PyDoc_STRVAR(bpy_bmelemseq_index_update_doc,
" .. note::\n"
"\n"
" Running this on sequences besides :class:`BMesh.verts`, :class:`BMesh.edges`, :class:`BMesh.faces`\n"
" works but wont result in each element having a valid index, insted its order in the sequence will be set.\n"
" works but won't result in each element having a valid index, insted its order in the sequence will be set.\n"
);
static PyObject *bpy_bmelemseq_index_update(BPy_BMElemSeq *self)
{
@ -4050,7 +4050,7 @@ int BPy_BMElem_CheckHType(PyTypeObject *type, const char htype)
/**
* Use for error strings only, not thread safe,
*
* \return a sting like '(BMVert/BMEdge/BMFace/BMLoop)'
* \return a string like '(BMVert/BMEdge/BMFace/BMLoop)'
*/
char *BPy_BMElem_StringFromHType_ex(const char htype, char ret[32])
{

@ -478,7 +478,7 @@ PyObject *BPy_BMLoopColor_CreatePyObject(struct MLoopCol *data)
* This type could eventually be used to access lattice weights.
*
* \note: Many of blender-api's dict-like-wrappers act like ordered dicts,
* This is intentional _not_ ordered, the weights can be in any order and it wont matter,
* This is intentionally _not_ ordered, the weights can be in any order and it won't matter,
* the order should not be used in the api in any meaningful way (as with a python dict)
* only expose as mapping, not a sequence.
*/

@ -438,7 +438,7 @@ PyDoc_STRVAR(bpy_bm_utils_face_split_doc,
" :type vert_a: :class:`bmesh.types.BMVert`\n"
" :arg vert_b: Second vertex to cut in the face (face must contain the vert).\n"
" :type vert_b: :class:`bmesh.types.BMVert`\n"
" :arg coords: Optional argument to define points inbetween *vert_a* and *vert_b*.\n"
" :arg coords: Optional argument to define points in between *vert_a* and *vert_b*.\n"
" :type coords: sequence of float triplets\n"
" :arg use_exist: .Use an existing edge if it exists (Only used when *coords* argument is empty or omitted)\n"
" :type use_exist: boolean\n"

@ -124,7 +124,7 @@ static PyObject *pyop_poll(PyObject *UNUSED(self), PyObject *args)
CTX_py_dict_set(C, (void *)context_dict);
Py_XINCREF(context_dict); /* so we done loose it */
/* main purpose of thsi function */
/* main purpose of this function */
ret = WM_operator_poll_context((bContext *)C, ot, context) ? Py_True : Py_False;
/* restore with original context dict, probably NULL but need this for nested operator calls */

@ -405,7 +405,7 @@ int EXPP_VectorsAreEqual(const float *vecA, const float *vecB, int size, int flo
}
#ifndef MATH_STANDALONE
/* dynstr as python string utility funcions, frees 'ds'! */
/* dynstr as python string utility functions, frees 'ds'! */
PyObject *mathutils_dynstr_to_py(struct DynStr *ds)
{
const int ds_len = BLI_dynstr_get_len(ds); /* space for \0 */

@ -170,7 +170,7 @@ Py_hash_t mathutils_array_hash(const float *float_array, size_t array_len);
int column_vector_multiplication(float rvec[4], VectorObject *vec, MatrixObject *mat);
#ifndef MATH_STANDALONE
/* dynstr as python string utility funcions */
/* dynstr as python string utility functions */
PyObject *mathutils_dynstr_to_py(struct DynStr *ds);
#endif

@ -161,7 +161,7 @@ PyDoc_STRVAR(Euler_to_matrix_doc,
"\n"
" Return a matrix representation of the euler.\n"
"\n"
" :return: A 3x3 roation matrix representation of the euler.\n"
" :return: A 3x3 rotation matrix representation of the euler.\n"
" :rtype: :class:`Matrix`\n"
);
static PyObject *Euler_to_matrix(EulerObject *self)

@ -2592,7 +2592,7 @@ static int Matrix_translation_set(MatrixObject *self, PyObject *value, void *UNU
}
PyDoc_STRVAR(Matrix_row_doc,
"Access the matix by rows (default), (read-only).\n\n:type: Matrix Access"
"Access the matrix by rows (default), (read-only).\n\n:type: Matrix Access"
);
static PyObject *Matrix_row_get(MatrixObject *self, void *UNUSED(closure))
{
@ -2600,7 +2600,7 @@ static PyObject *Matrix_row_get(MatrixObject *self, void *UNUSED(closure))
}
PyDoc_STRVAR(Matrix_col_doc,
"Access the matix by colums, 3x3 and 4x4 only, (read-only).\n\n:type: Matrix Access"
"Access the matrix by columns, 3x3 and 4x4 only, (read-only).\n\n:type: Matrix Access"
);
static PyObject *Matrix_col_get(MatrixObject *self, void *UNUSED(closure))
{
@ -2770,7 +2770,7 @@ PyDoc_STRVAR(matrix_doc,
" matrices from 2x2 up to 4x4.\n"
"\n"
" :param rows: Sequence of rows.\n"
" When ommitted, a 4x4 identity matrix is constructed.\n"
" When omitted, a 4x4 identity matrix is constructed.\n"
" :type rows: 2d number sequence\n"
);
PyTypeObject matrix_Type = {

@ -579,7 +579,7 @@ PyDoc_STRVAR(py_bvhtree_overlap_doc,
"\n"
" Find overlapping indices between 2 trees.\n"
"\n"
" :arg other_tree: Other tree to preform overlap test on.\n"
" :arg other_tree: Other tree to perform overlap test on.\n"
" :type other_tree: :class:`BVHTree`\n"
" :return: Returns a list of unique index pairs,"
" the first index referencing this tree, the second referencing the **other_tree**.\n"