Revision: 24633
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24633
Author:   campbellbarton
Date:     2009-11-18 11:41:03 +0100 (Wed, 18 Nov 2009)

Log Message:
-----------
New Version for 2.49b

>From Jimmy Hazevoet
i have updated my A.N.T.Landscape script,
new functions are:
_Thermal erosion
_Generate new grid mesh with Triangle faces
_Select Verts/Faces by slope angle ( for making vertexgroups
for particlesystems )
_VertexColour Slope Map, ( for use with MaterialNodes )

This will be the last update for this script in this form (if
no major bugs are found)... with blender 2.5 this script will
need a complete rewrite,
i have plans for it, but i need a lot of time to do it, so i
gues a new version will not come before blender 2.6
So, next year or so i will spend time rewriting my ant script,
also i have plans for a "ANTLandscape" website with
docs and tuts.
The new script will be fully documented, and with some tutorials
on landscape rendering in blender.

Modified Paths:
--------------
    branches/blender2.4/release/scripts/wizard_landscape_ant.py

Modified: branches/blender2.4/release/scripts/wizard_landscape_ant.py
===================================================================
--- branches/blender2.4/release/scripts/wizard_landscape_ant.py 2009-11-18 
10:37:32 UTC (rev 24632)
+++ branches/blender2.4/release/scripts/wizard_landscape_ant.py 2009-11-18 
10:41:03 UTC (rev 24633)
@@ -8,10 +8,10 @@
 
 __author__ = "Jimmy Hazevoet"
 __url__     = 
('http://wiki.blender.org/index.php/Scripts/Manual/Wizards/ANTLandscape','elysiun')
-__version__ = "v.1.05 03-2007"
+__version__ = "v.1.06 10-2009"
 __bpydoc__ = """\
 
-Another Noise Tool 'Landscape' v.1.05
+Another Noise Tool 'Landscape' v.1.06
 
 This script uses noise functions to create a terrain from a grid mesh.
 
@@ -46,7 +46,17 @@
 To create Multiple Landscapes you Must Re-Name or save the Mesh
 in Blender's F7 menu Links & Materials Panel.
 
+
 Readme:
+
+version.1.06: Oktober 2009
+_ New mesh option: Generate triangle faces
+_ New Height/Filter option: Thermal Erosion
+_ Option: Vert/Face select by slope, adjust limit to select steeper slopes, 
create vertexgroups for particlesystems etc..
+_ Option: VertexColour Slope Map, for use with MaterialNodes
+
+
+
 v.1.04:
 _ New G.U.I.
 _ New noise types like: 
@@ -203,6 +213,21 @@
 
###############################################################################################################
 
 
+#-----------------------------
+# Updates 2009:
+################################################################################################################
+# June 2009 v.1.05a
+# _ Mesh Option: Generate Triangle Faces
+#-----------------------------
+# Oktober 2009  v.1.06
+# _ Height/Filter Option: Thermal Erosion
+# _ Option: Vert/Face select by slope, adjust limit to select steeper slopes
+# _ Option: VertexColour Slope Map
+#
+################################################################################################################
+
+
+
 
###############################################################################################################
 #
 ##  Execute Script: Alt P 
@@ -219,13 +244,13 @@
 import string
 from string import strip
 import BPyMathutils
-from BPyMathutils import genrand
+from BPyMathutils import *
 from random import choice
 scene = Scene.GetCurrent()
 
 ###---------------------------------------------------------------------------
 
-CurVersion = 'A.N.T.Landscape v.1.05'
+CurVersion = 'A.N.T.Landscape v.1.06'
 
 ##---------------------------------------------------------------------------
 # Customise default settings: ----------------------------------------------
@@ -298,6 +323,10 @@
 Ipo_Evt  = 17
 New_Ipo_Evt=700
 
+VCol_Evt = 84
+VSel_Evt = 85
+FSel_Evt = 86
+
 ###---------------------------------------------------------------------------
 # menus
 noisetypemenu  = "Noise type: %t|multiFractal %x0|ridgedMFractal 
%x1|hybridMFractal %x2|heteroTerrain %x3|fBm %x4|turbulence %x5|Voronoi turb. 
%x6|vlNoise turb. %x7|noise %x8|cellNoise %x9|Marble %x10|lava_multiFractal 
%x11|slopey_noise %x12|duo_multiFractal %x13|distorted_heteroTerrain 
%x14|slickRock %x15|terra_turbulence %x16|rocky_fBm %x17|StatsByAlt_Terrain 
%x18|Double_Terrain %x19|Shattered_hTerrain %x20|vlhTerrain %x21"
@@ -318,14 +347,17 @@
        global fileinfo, filemessage
        global iScale, Offset, Invert, NSize, Sx, Sy, Lx, Ly, WorldSpaceCo
        global NType, Basis, musgr, vlnoi, vlnoiTwo, voron, turbOne, turbTwo, 
marbleOne, marbleTwo, tBasismod, musgrTwo
-       global CustomFX, effect_image, Effect_Ctrl, Min, Max, Falloff, 
CustomFilt, Filter_Mode, Def_Filter_Ctrl, Ipo_Filter_Ctrl, Filter_Order
-       global RandMod, RSeed, rand_H, rand_S, rand_L, rand_I, AutoUpd, 
PreView, DefaultIpoName
+       global CustomFX, effect_image, Effect_Ctrl, Min, Max, Falloff, 
CustomFilt, Filter_Mode, Def_Filter_Ctrl, Ipo_Filter_Ctrl, Filter_Order, Erosion
+       global RandMod, RSeed, rand_H, rand_S, rand_L, rand_I, AutoUpd, 
PreView, DefaultIpoName, selLimit
 
        filemessage = ''
        fileinfo    = ''
        effect_image = 'Load and Select image.'
        AutoUpd  = Create( 0 )
        PreView = [ Create( 0 ), Create( 1.0 ), Create( 0.0 ) ]
+
+       selLimit= Create( 0.96 )
+
        ## Coords controls:
        WorldSpaceCo = Create(0)
        iScale = [ Create( 1.0 ), Create( 1.0 ), Create( 0.25) ]
@@ -337,7 +369,7 @@
        Lx = [ Create( 0.0 ), Create( 0.0 ) ]
        Ly = [ Create( 0.0 ), Create( 0.0 ) ]
        ## Noise controls:
-       NType = Create( 3 )
+       NType = Create( 20 )
        Basis = [ Create( 0 ), Create( 0 ) ]
        musgr = [ Create( 1.0 ), Create( 2.0 ), Create( 8 ), Create( 1.0 ), 
Create( 1.0 ), Create( 0.5 ) ]
        vlnoi = [ Create( 1.0 ), Create( 0 ) ]
@@ -361,6 +393,10 @@
        Ipo_Filter_Ctrl = [ Create( DefaultIpoName ), Create( 0 ), Create( 
100.0 ), Create( 100.0 ) ]
        Filter_Order =  Create( 0 )
        CustomFilt = [ Create('sqrt(h*h)**2'), Create('0'), Create('a') ]
+
+       Erosion = [ Create( 0 ), Create( 1 ), Create( 2 ), Create( 2.5 ) ]
+
+
        ## Randomise noise buttons:
        RandMod = Create( 1 )
        RSeed   = Create( 0 )
@@ -577,20 +613,32 @@
 #
 def FilterButtons( col, row, width, height ):
        global iScale, Offset, Invert, Min, Max, Falloff, CustomFilt
-       global Filter_Mode, Def_Filter_Ctrl, Ipo_Filter_Ctrl, DefaultIpoName, 
Filter_Order
+       global Filter_Mode, Def_Filter_Ctrl, Ipo_Filter_Ctrl, DefaultIpoName, 
Filter_Order, Erosion
 
        iScale[2] = Number("Height:", Btn_Evt, col[5], row[2], width[3], 
height[2], iScale[2].val,   -10.0, 10.0 , "Terrain Height:  Scale" )
        Invert[2] = Toggle("Inv.",    Btn_Evt, col[9], row[2], width[0], 
height[2], Invert[2].val, "Terrain Height:  Invert")
        Offset[2] = Number("Offset:", Btn_Evt, col[5], row[3], width[4], 
height[1], Offset[2].val,   -10.0, 10.0 , "Terrain Height:  Offset" )
-       Max = Number(    "Plateau:",  Btn_Evt, col[5], row[5], width[4], 
height[1], Max.val, Min.val, 1.0 , "Terrain Height:  Clamp Max. ( Plateau )" )
-       Min = Number(    "Sealevel:", Btn_Evt, col[5], row[6], width[4], 
height[1], Min.val, -1.0, Max.val , "Terrain Height:  Clamp Min. ( Sealevel )" )
-       Falloff[0] = Menu( falloftypemenu, Btn_Evt ,col[5], row[9], width[4], 
height[2], Falloff[0].val, "Terrain Height:  Edge falloff")
+       Max = Number(    "Plateau:",  Btn_Evt, col[5], row[4], width[4], 
height[1], Max.val, Min.val, 1.0 , "Terrain Height:  Clamp Max. ( Plateau )" )
+       Min = Number(    "Sealevel:", Btn_Evt, col[5], row[5], width[4], 
height[1], Min.val, -1.0, Max.val , "Terrain Height:  Clamp Min. ( Sealevel )" )
+
+       Falloff[0] = Menu( falloftypemenu, Btn_Evt ,col[5], row[7], width[4], 
height[1], Falloff[0].val, "Terrain Height:  Edge falloff")
        if Falloff[0].val !=0:
-               Falloff[1] = Number("X:",   Btn_Evt, col[5], row[10], width[1], 
height[1], Falloff[1].val , 0.01, 100.0 , "Edge falloff:  X Size" )             
-               Falloff[2] = Number("Y:",   Btn_Evt, col[8], row[10], width[1], 
height[1], Falloff[2].val , 0.01, 100.0 , "Edge falloff:  Y Size" )
-               Falloff[4] = Toggle("Inv.", Btn_Evt, col[7], row[10], width[0], 
height[1], Falloff[4].val, "Edge falloff:  Invert")
-               Falloff[3] = Toggle("Edge At Sealevel", Btn_Evt, col[5], 
row[7], width[4], height[1], Falloff[3].val, "Edge falloff:  Edge at Sealevel")
+               Falloff[1] = Number("X:",   Btn_Evt, col[5], row[8], width[1], 
height[1], Falloff[1].val , 0.01, 100.0 , "Edge falloff:  X Size" )             
 
+               Falloff[2] = Number("Y:",   Btn_Evt, col[8], row[8], width[1], 
height[1], Falloff[2].val , 0.01, 100.0 , "Edge falloff:  Y Size" )
+               Falloff[4] = Toggle("Inv.", Btn_Evt, col[7], row[8], width[0], 
height[1], Falloff[4].val, "Edge falloff:  Invert")
+               Falloff[3] = Toggle("Edge At Sealevel", Btn_Evt, col[5], 
row[6], width[4], height[1], Falloff[3].val, "Edge falloff:  Edge at Sealevel")
 
+
+       ##########
+       Erosion[0] = Toggle("ThemalErosion", Btn_Evt, col[5], row[9], width[2], 
height[1], Erosion[0].val, "Thermal Erosion")
+       if Erosion[0].val !=0:
+               neighbormenu = "Neighborhood %t|Moore %x0|Neumann %x1|Inv. 
Neumann %x2"
+               Erosion[1] = Menu( neighbormenu, Btn_Evt ,col[5], row[10], 
width[1], height[1], Erosion[1].val, "Neighborhood calculation type")
+               Erosion[2] = Number("Passes:",   Btn_Evt, col[8],  row[9], 
width[1], height[1], Erosion[2].val , 1,   100,   "Number of erosion passes" )  
             
+               Erosion[3] = Number("Factor:",   Btn_Evt, col[7], row[10], 
width[2], height[1], Erosion[3].val , 0.01,100.0, "Erosion factor amount" )
+
+
+
        Filter_Mode = Menu( filtermodemenu,               No_Evt, col[0], 
row[2], width[4], height[2], Filter_Mode.val, "Filter:  Mode")
        if Filter_Mode.val ==1:
                Def_Filter_Ctrl[0] = Menu( filtertypemenu,     Btn_Evt, col[0], 
row[5], width[4], height[2], Def_Filter_Ctrl[0].val, "Filter:  Type")
@@ -615,11 +663,13 @@
        if Filter_Mode.val !=0:
                Filter_Order = Toggle("Change Filter Order",   Btn_Evt, col[0], 
row[3], width[4], height[1], Filter_Order.val, "Filter Order: OFF = 
Noise+Effect+Falloff+FILTER / ON = Noise+FILTER+Effect+Falloff.")
 
+
+
 ###-------------------------
-## Option / Generate Image Buttons:
+## Options / Generate Image Buttons:
 #
 def OptionButtons( col, row, width, height ):
-       global PreView, previewname
+       global PreView, previewname, selLimit
 
        PreView[0] = Toggle("Make Image", No_Evt, col[0], row[2], width[4], 
height[2], PreView[0].val, "Image: On/Off (Make a new Image in UV/ImageEditor 
Window, and give a name to it)")
        if PreView[0].val !=0:
@@ -632,12 +682,28 @@
                draw_Text( ( col[5], row[3] ), 'give it a name,', black, 0 )
                draw_Text( ( col[5], row[4] ), 'and save it manualy.', black, 0 
)
 
+       
+
+       PushButton( "Slope Select Vertices",  VSel_Evt, col[0], row[9], 
width[4], height[1] , "Select Vertices by slope (MeshEditMode) ")
+       PushButton( "Slope Select Faces",  FSel_Evt, col[5], row[9], width[4], 
height[1] , "Select Faces by slope (MeshEditMode) ")
+       selLimit = Slider("Slope Selection Limit ",     No_Evt, col[0], 
row[10], width[9], height[1], selLimit.val, 0.0, 1.0, 0, "Vertice/Face 
selection limit")
+       PushButton( "Generate VertexColour Slope Map",  VCol_Evt, col[0], 
row[8], width[9], height[1] , "Make vertex colour slope map 
(MeshVertexPaintMode) (Use with MaterialNodes) ")
+
+
+
+
+
+
+
+
+
+
 ####--------------------------------------------------------------------------
 ###--------------------------------------------------------------------------
 ## Draw G.U.I. -------------------------------------------------------------
 #--------------------------------------------------------------------------
 def drawgui():
-       global guitabs, ledcolor, FullScreen, AutoUpd, RandMod, RSeed, 
filemessage

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to