[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [1680] contrib/py/scripts/addons/ game_engine_ragdolls_kit:

Marcus Jenkins funkywyrm at gmail.com
Sat Mar 5 15:15:18 CET 2011


Revision: 1680
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=1680
Author:   funkywyrm
Date:     2011-03-05 14:15:17 +0000 (Sat, 05 Mar 2011)
Log Message:
-----------


Added Paths:
-----------
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_curve_aceous_galore.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_curve_torus_knots.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_3d_function_surface.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_BoltFactory/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_BoltFactory/Boltfactory.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_BoltFactory/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_BoltFactory/createMesh.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_BoltFactory/original_script_add_mesh_bolt.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_BoltFactory/preset_utils.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_BoltFactory/presets/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_BoltFactory/presets/M10.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_BoltFactory/presets/M12.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_BoltFactory/presets/M3.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_BoltFactory/presets/M4.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_BoltFactory/presets/M5.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_BoltFactory/presets/M6.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_BoltFactory/presets/M8.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_ant_landscape.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_extras.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_gears.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_gemstones.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_pipe_joint.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_solid.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/add_mesh_twisted_torus.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/animation_add_corrective_shape_key.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/animation_rotobezier.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/curve_simplify.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/game_engine_save_as_runtime.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_anim_camera.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_coat3D/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_coat3D/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_coat3D/coat.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_coat3D/tex.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_convert_image_to_mesh_img/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_convert_image_to_mesh_img/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_convert_image_to_mesh_img/import_img.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_export_anim_mesh_xna/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_export_anim_mesh_xna/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_export_anim_mesh_xna/export_xna.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_export_directx_x.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_export_pc2.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_export_unreal_psk_psa.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_import_gimp_image_to_scene.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_import_images_as_planes.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_import_scene_dxf.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_import_scene_lwo.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_import_scene_mhx.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_import_scene_unreal_psk.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_mesh_raw/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_mesh_raw/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_mesh_raw/export_raw.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_mesh_raw/import_raw.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_mesh_stl/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_mesh_stl/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_mesh_stl/blender_utils.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_mesh_stl/stl_utils.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_scene_m3/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_scene_m3/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/io_scene_m3/import_m3.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/mesh_relax.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/mesh_surface_sketch.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/modules/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/modules/add_utils.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/modules/extensions_framework/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/modules/extensions_framework/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/modules/extensions_framework/engine.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/modules/extensions_framework/outputs/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/modules/extensions_framework/outputs/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/modules/extensions_framework/outputs/xml_output.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/modules/extensions_framework/plugin.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/modules/extensions_framework/ui.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/modules/extensions_framework/util.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/modules/extensions_framework/validate.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/object_add_chain.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/object_animrenderbake.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/object_cloud_gen.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/object_fracture/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/object_fracture/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/object_fracture/data.blend
    contrib/py/scripts/addons/game_engine_ragdolls_kit/object_fracture/fracture_ops.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/object_fracture/fracture_setup.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/render_povray/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/render_povray/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/render_povray/render.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/render_povray/ui.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/render_renderfarmfi.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/README
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/generate.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/metarig_menu.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/metarigs/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/metarigs/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/metarigs/human.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rig_ui_template.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/biped/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/biped/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/biped/arm/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/biped/arm/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/biped/arm/deform.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/biped/arm/fk.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/biped/arm/ik.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/biped/leg/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/biped/leg/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/biped/leg/deform.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/biped/leg/fk.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/biped/leg/ik.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/copy.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/finger.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/misc/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/misc/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/misc/delta.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/neck_short.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/palm.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/rigs/spine.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/ui.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/rigify/utils.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/space_view3d_3d_navigation.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/space_view3d_align_tools.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/space_view3d_copy_attributes.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/space_view3d_materials_utils.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/space_view3d_math_vis/
    contrib/py/scripts/addons/game_engine_ragdolls_kit/space_view3d_math_vis/__init__.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/space_view3d_math_vis/draw.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/space_view3d_math_vis/utils.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/space_view3d_panel_measure.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/space_view3d_spacebar_menu.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/system_blend_info.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/system_icon_get.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/system_property_chart.py
    contrib/py/scripts/addons/game_engine_ragdolls_kit/text_editor_api_navigator.py

Added: contrib/py/scripts/addons/game_engine_ragdolls_kit/add_curve_aceous_galore.py
===================================================================
--- contrib/py/scripts/addons/game_engine_ragdolls_kit/add_curve_aceous_galore.py	                        (rev 0)
+++ contrib/py/scripts/addons/game_engine_ragdolls_kit/add_curve_aceous_galore.py	2011-03-05 14:15:17 UTC (rev 1680)
@@ -0,0 +1,1143 @@
+# ##### BEGIN GPL LICENSE BLOCK #####
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU General Public License
+#  as published by the Free Software Foundation; either version 2
+#  of the License, or (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software Foundation,
+#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+bl_addon_info = {
+    'name': 'Curveaceous Galore!',
+    'author': 'Jimmy Hazevoet, testscreenings',
+    'version': (0,2),
+    'blender': (2, 5, 3),
+    'api': 32411,
+    'location': 'Add Curve menu',
+    'description': 'adds many types of curves',
+    'warning': '', # used for warning icon and text in addons panel
+    'wiki_url': 'http://wiki.blender.org/index.php/Extensions:2.5/Py/' \
+        'Scripts/Curve/Curves_Galore',
+    'tracker_url': 'https://projects.blender.org/tracker/index.php?'\
+        'func=detail&aid=22404&group_id=153&atid=469',
+    'category': 'Add Curve'}
+
+
+##------------------------------------------------------------
+#### import modules
+import bpy
+from bpy.props import *
+from mathutils import *
+from math import *
+import noise as Noise
+###------------------------------------------------------------
+#### Some functions to use with others:
+###------------------------------------------------------------
+
+#------------------------------------------------------------
+# Generate random number:
+def randnum(low=0.0, high=1.0, seed=0):
+    """
+    randnum( low=0.0, high=1.0, seed=0 )
+    
+    Create random number
+    
+        Parameters:
+            low - lower range
+                (type=float)
+            high - higher range
+                (type=float)
+            seed - the random seed number, if seed is 0, the current time will be used instead
+                (type=int)
+        Returns:
+            a random number
+                (type=float)
+    """
+
+    s = Noise.seed_set(seed)
+    rnum = Noise.random()
+    rnum = rnum*(high-low)
+    rnum = rnum+low
+    return rnum
+
+
+#------------------------------------------------------------
+# Make some noise:
+def vTurbNoise(x,y,z, iScale=0.25, Size=1.0, Depth=6, Hard=0, Basis=0, Seed=0):
+    """
+    vTurbNoise((x,y,z), iScale=0.25, Size=1.0, Depth=6, Hard=0, Basis=0, Seed=0 )
+    
+    Create randomised vTurbulence noise
+    
+        Parameters:
+            xyz - (x,y,z) float values.
+                (type=3-float tuple)
+            iScale - noise intensity scale
+                (type=float)
+            Size - noise size
+                (type=float)
+            Depth - number of noise values added.
+                (type=int)
+            Hard - noise hardness: 0 - soft noise; 1 - hard noise
+                (type=int)
+            basis - type of noise used for turbulence
+                (type=int)
+            Seed - the random seed number, if seed is 0, the current time will be used instead
+                (type=int)
+        Returns:
+            the generated turbulence vector.
+                (type=3-float list)
+    """
+    sn = 0.001
+    rand = randnum(-100,100,Seed)
+    if Basis == 9: Basis = 14
+    vTurb = Noise.turbulence_vector((x/Size+rand, y/Size+rand, z/Size+rand), Depth, Hard, Basis)
+    tx = vTurb[0]*iScale
+    ty = vTurb[1]*iScale
+    tz = vTurb[2]*iScale
+    return tx,ty,tz
+
+
+#------------------------------------------------------------
+# Axis: ( used in 3DCurve Turbulence )
+def AxisFlip(x,y,z, x_axis=1, y_axis=1, z_axis=1, flip=0 ):
+    if flip != 0:
+        flip *= -1
+    else: flip = 1
+    x *= x_axis*flip
+    y *= y_axis*flip
+    z *= z_axis*flip
+    return x,y,z
+
+
+###-------------------------------------------------------------------
+#### 2D Curve shape functions:
+###-------------------------------------------------------------------
+
+##------------------------------------------------------------
+# 2DCurve: Profile:  L, H, T, U, Z
+def ProfileCurve(type=0, a=0.25, b=0.25):
+    """
+    ProfileCurve( type=0, a=0.25, b=0.25 )
+    
+    Create profile curve 
+        
+        Parameters:
+            type - select profile type, L, H, T, U, Z
+                (type=int)
+            a - a scaling parameter
+                (type=float)
+            b - b scaling parameter
+                (type=float)
+        Returns:
+            a list with lists of x,y,z coordinates for curve points, [[x,y,z],[x,y,z],...n]
+            (type=list)
+    """
+
+    newpoints = []
+    if type ==1:
+        ## H:
+        a*=0.5
+        b*=0.5
+        newpoints = [ [ -1.0, 1.0, 0.0 ], [ -1.0+a, 1.0, 0.0 ],
+        [ -1.0+a, b, 0.0 ], [ 1.0-a, b, 0.0 ], [ 1.0-a, 1.0, 0.0 ],
+        [ 1.0, 1.0, 0.0 ],  [ 1.0, -1.0, 0.0 ], [ 1.0-a, -1.0, 0.0 ],
+        [ 1.0-a, -b, 0.0 ], [ -1.0+a, -b, 0.0 ], [ -1.0+a, -1.0, 0.0 ],
+        [ -1.0, -1.0, 0.0 ] ]
+    elif type ==2:
+        ## T:
+        a*=0.5
+        newpoints = [ [ -1.0, 1.0, 0.0 ], [ 1.0, 1.0, 0.0 ],
+        [ 1.0, 1.0-b, 0.0 ], [ a, 1.0-b, 0.0 ], [ a, -1.0, 0.0 ],
+        [ -a, -1.0, 0.0 ], [ -a, 1.0-b, 0.0 ], [ -1.0, 1.0-b, 0.0 ] ]
+    elif type ==3:
+        ## U:
+        a*=0.5
+        newpoints = [ [ -1.0, 1.0, 0.0 ], [ -1.0+a, 1.0, 0.0 ],
+        [ -1.0+a, -1.0+b, 0.0 ], [ 1.0-a, -1.0+b, 0.0 ], [ 1.0-a, 1.0, 0.0 ],
+        [ 1.0, 1.0, 0.0 ], [ 1.0, -1.0, 0.0 ], [ -1.0, -1.0, 0.0 ] ]
+    elif type ==4:
+        ## Z:
+        a*=0.5
+        newpoints = [ [ -0.5, 1.0, 0.0 ], [ a, 1.0, 0.0 ],
+        [ a, -1.0+b, 0.0 ], [ 1.0, -1.0+b, 0.0 ], [ 1.0, -1.0, 0.0 ],
+        [ -a, -1.0, 0.0 ], [ -a, 1.0-b, 0.0 ], [ -1.0, 1.0-b, 0.0 ],
+        [ -1.0, 1.0, 0.0 ] ]
+    else:
+        ## L:
+        newpoints = [ [ -1.0, 1.0, 0.0 ], [ -1.0+a, 1.0, 0.0 ],
+        [ -1.0+a, -1.0+b, 0.0 ], [ 1.0, -1.0+b, 0.0 ],
+        [ 1.0, -1.0, 0.0 ], [ -1.0, -1.0, 0.0 ] ]
+    return newpoints
+
+##------------------------------------------------------------
+# 2DCurve: Miscellaneous.: Diamond, Arrow1, Arrow2, Square, ....
+def MiscCurve(type=1, a=1.0, b=0.5, c=1.0):
+    """
+    MiscCurve( type=1, a=1.0, b=0.5, c=1.0 )
+    
+    Create miscellaneous curves
+    
+        Parameters:
+            type - select type, Diamond, Arrow1, Arrow2, Square
+                (type=int)
+            a - a scaling parameter
+                (type=float)
+            b - b scaling parameter
+                (type=float)
+            c - c scaling parameter
+                (type=float)
+                doesn't seem to do anything
+        Returns:
+            a list with lists of x,y,z coordinates for curve points, [[x,y,z],[x,y,z],...n]
+            (type=list)
+    """
+
+    newpoints = []
+    a*=0.5
+    b*=0.5
+    if type == 1:
+        ## diamond:
+        newpoints = [ [ 0.0, b, 0.0 ], [ a, 0.0, 0.0 ], [ 0.0, -b, 0.0 ], [ -a, 0.0, 0.0 ]  ]
+    elif type == 2:
+        ## Arrow1:
+        newpoints = [ [ -a, b, 0.0 ], [ a, 0.0, 0.0 ], [ -a, -b, 0.0 ], [ 0.0, 0.0, 0.0 ]  ]
+    elif type == 3:
+        ## Arrow2:
+        newpoints = [ [ -1.0, b, 0.0 ], [ -1.0+a, b, 0.0 ],
+        [ -1.0+a, 1.0, 0.0 ], [ 1.0, 0.0, 0.0 ],
+        [ -1.0+a, -1.0, 0.0 ], [ -1.0+a, -b, 0.0 ],
+        [ -1.0, -b, 0.0 ] ]
+    elif type == 4:
+        ## Rounded square:
+        newpoints = [ [ -a, b-b*0.2, 0.0 ], [ -a+a*0.05, b-b*0.05, 0.0 ], [ -a+a*0.2, b, 0.0 ],
+        [ a-a*0.2, b, 0.0 ], [ a-a*0.05, b-b*0.05, 0.0 ], [ a, b-b*0.2, 0.0 ],
+        [ a, -b+b*0.2, 0.0 ], [ a-a*0.05, -b+b*0.05, 0.0 ], [ a-a*0.2, -b, 0.0 ],
+        [ -a+a*0.2, -b, 0.0 ], [ -a+a*0.05, -b+b*0.05, 0.0 ], [ -a, -b+b*0.2, 0.0 ] ]
+    elif type == 5:
+        ## Rounded Rectangle II:
+        newpoints = []
+        x = a / 2
+        y = b / 2
+        r = c / 2
+        
+        if r > x:
+            r = x - 0.0001
+        if r > y:
+            r = y - 0.0001
+        
+        if r>0:
+            newpoints.append([-x+r,y,0])
+            newpoints.append([x-r,y,0])
+            newpoints.append([x,y-r,0])
+            newpoints.append([x,-y+r,0])
+            newpoints.append([x-r,-y,0])
+            newpoints.append([-x+r,-y,0])
+            newpoints.append([-x,-y+r,0])
+            newpoints.append([-x,y-r,0])
+        else:
+            newpoints.append([-x,y,0])
+            newpoints.append([x,y,0])
+            newpoints.append([x,-y,0])
+            newpoints.append([-x,-y,0])
+
+    else:
+        ## Square:
+        newpoints = [ [ -a, b, 0.0 ], [ a, b, 0.0 ], [ a, -b, 0.0 ], [ -a, -b, 0.0 ]  ]
+    return newpoints
+
+##------------------------------------------------------------
+# 2DCurve: Star:
+def StarCurve(starpoints=8, innerradius=0.5, outerradius=1.0, twist=0.0):
+    """
+    StarCurve( starpoints=8, innerradius=0.5, outerradius=1.0, twist=0.0 )
+    
+    Create star shaped curve
+    
+        Parameters:
+            starpoints - the number of points
+                (type=int)
+            innerradius - innerradius
+                (type=float)
+            outerradius - outerradius
+                (type=float)
+            twist - twist amount
+                (type=float)
+        Returns:
+            a list with lists of x,y,z coordinates for curve points, [[x,y,z],[x,y,z],...n]
+            (type=list)
+    """
+
+    newpoints = []
+    step = (2.0/(starpoints))
+    i = 0
+    while i < starpoints:
+        t = (i*step)
+        x1 = cos(t*pi)*outerradius
+        y1 = sin(t*pi)*outerradius
+        newpoints.append([x1,y1,0])
+        x2 = cos(t*pi+(pi/starpoints+twist))*innerradius
+        y2 = sin(t*pi+(pi/starpoints+twist))*innerradius
+        newpoints.append([x2,y2,0])
+        i+=1
+    return newpoints
+

@@ Diff output truncated at 10240 characters. @@


More information about the Bf-extensions-cvs mailing list