[Bf-extensions-cvs] [668ca116] master: Remove add_mesh_castle: unsupported: T63750

meta-androcto noreply at git.blender.org
Sun Apr 21 03:10:22 CEST 2019


Commit: 668ca1167a92ede3397de522b428c7a8187ea215
Author: meta-androcto
Date:   Sun Apr 21 11:10:04 2019 +1000
Branches: master
https://developer.blender.org/rBAC668ca1167a92ede3397de522b428c7a8187ea215

Remove add_mesh_castle: unsupported: T63750

===================================================================

D	add_mesh_castle/Castle.py
D	add_mesh_castle/__init__.py

===================================================================

diff --git a/add_mesh_castle/Castle.py b/add_mesh_castle/Castle.py
deleted file mode 100644
index 07849f1f..00000000
--- a/add_mesh_castle/Castle.py
+++ /dev/null
@@ -1,3546 +0,0 @@
-################################################################################
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This is free software under the terms of the GNU General Public License
-# you may redistribute it, and/or modify it.
-#
-# This code 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 (http://www.gnu.org/licenses/) for more details.
-#
-# ***** END GPL LICENSE BLOCK *****
-'''
-Generate an object: (OBJ_N) "Castle", complex mesh collection.
- Derived from many sources, inspired by many in the "community",
- - see documentation for details on use and credits.
-'''
-# mod list, in order of complexity and necessity...
-#  some want, some needed, some a feature not a bug just need controls.
-#
-# @todo: fix dome radius -  not complete when wall width or depth < 15
-#        globe (z/2) is fun but not intended design.
-# @todo: check width minimum as is done for height, maybe depth too.
-# @todo: fix grout for bottom of first row (adjust wall base).
-#
-# @todo: eleminate result of "None" if possible from  circ() and other subroutines.
-# @todo: review defaults and limits for all UI entries.
-#
-#
-# Abstract/experimental use only:
-# @todo: Curve (wallSlope) inverts walls: reverse slope and adjust sizing to fit floor.
-# @todo: Tunnel, paired sloped walls, need to create separate objects and adjust sizing.
-# @todo: Turret/tower - uses rotated wall, need to change curvature/slope orientation/sizing
-#  allow openings and placement (corners, center wall, etc.).
-#
-#
-# wish list:
-# @todo: do not allow opening overlap.
-# @todo: implement "Oculus" for dome (top center opening). See "Radial" floor with door.
-# @todo: make "true" roof: top of castle walls or turret, multiple levels, style options - peaked, flat.
-# @todo: integrate portal with doorway.
-# @todo: add stair_builder; keep (wall) steps.
-# @todo: integrate balcony with shelf.
-# @todo: add block shapes: triangle, hexagon, octagon, round (disc/ball), "Rocks" (Brikbot author), etc...
-#        - possible window/door/opening shapes?
-#
-################################################################################
-
-import bpy
-from bpy.props import IntProperty, FloatProperty, FloatVectorProperty, BoolProperty, EnumProperty
-from random import random
-
-import math
-from math import fmod, sqrt, sin, cos, atan
-
-################################################################################
-
-################################################################################
-
-#####
-# constants
-#####
-
-OBJ_N = "Castle"  # Primary object name (base/floor/foundation)
-OBJ_CF = "CFloor"  # Multi-level "floor"
-OBJ_CR = "CRoof"  # roofing
-OBJ_WF = "CWallF"  # front, left, back, right wall objects
-OBJ_WL = "CWallL"
-OBJ_WB = "CWallB"
-OBJ_WR = "CWallR"
-
-# not sure if this is more efficient or not, just seems no need to import value.
-cPie = 3.14159265359
-cPieHlf = cPie / 2  # used to rotate walls 90 degrees (1.570796...)
-
-BLOCK_MIN = 0.1  # Min block sizing; also used for openings.
-
-WALL_MAX = 100
-HALF_WALL = WALL_MAX / 2  # edging, openings, etc., limited to half wall limit.
-
-WALL_MIN = BLOCK_MIN * 3  # min wall block size*3 for each dimension.
-WALL_DEF = 20  # Default wall/dome size
-
-LVL_MAX = 10  # castle levels (vertical wall repeat).
-
-# riser BLOCK_XDEF should be 0.75 and tread BLOCK_DDEF 1.0 for stair steps.
-BLOCK_XDEF = 0.75  # stanadard block width, including steps and shelf.
-BLOCK_DDEF = 1.0  # standard block depth.
-BLOCK_MAX = WALL_MAX  # Max block sizing.
-BLOCK_VMAX = BLOCK_MAX / 2  # block variations, no negative values.
-
-# gap 0 makes solid wall but affects other options, like openings, not in a good way.
-# Negative gap creates "phantom blocks" (extraneous verts) inside the faces.
-GAP_MIN = 0.01  # min space between blocks.
-GAP_MAX = BLOCK_MAX / 2  # maybe later... -BLOCK_MIN # max space between blocks.
-
-ROW_H_WEIGHT = 0.5  # Use 0.5, else create parameter:
-#  0=no effect, 1=1:1 relationship, negative values allowed.
-
-BASE_TMIN = BLOCK_MIN  # floor min thickness
-BASE_TMAX = BLOCK_MAX / 2  # floor max thickness, limit to half (current) block height.
-
-# Default Door settings
-DEF_DOORW = 2.5
-DEF_DOORH = 3.5
-DEF_DOORX = 2.5
-
-#####
-# working variables, per option per level.
-#####
-
-# wall/block Settings
-settings = {'w': 1.2, 'wv': 0.3, 'h': .6, 'hv': 0.1, 'd': 0.3, 'dv': 0.1,
-            'g': 0.1, 'sdv': 0.1,
-            'eoff': 0.3,
-            'Steps': False, 'StepsL': False, 'StepsB': False, 'StepsO': False,
-            'Shelf': False, 'ShelfO': False,
-            'Radial': False, 'Slope': False}
-# 'w':width 'wv':width Variation
-# 'h':height 'hv':height Variation
-# 'd':depth 'dv':depth Variation
-# 'g':grout
-# 'sdv':subdivision(distance or angle)
-# 'eoff':edge offset
-# passed as params since modified per object; no sense to change UI values.
-# 'Steps' create steps, 'StepsL'step left, 'StepsB' fill with blocks, 'StepsO' outside of wall.
-# 'Shelf' add shelf/balcony, 'ShelfO'outside of wall.
-# 'Radial' create "disc"; makes dome when combined with "Slope" (globe when height/2).
-# 'Slope' curve wall - forced for Dome
-
-# dims = area of wall (centered/splitX from 3D cursor); modified for radial/dome.
-dims = {'s': -10, 'e': 10, 't': 15}
-# dims = {'s':0, 'e':cPie*3/2, 't':12.3} # radial
-# 's' start, 'e' end, 't' top
-
-# Apertures in wall, includes all openings for door, window, slot.
-#openingSpecs = []
-# openingSpecs indexes, based on order of creation.
-OP_DOOR = 0
-OP_PORT = 1
-OP_CREN = 2
-OP_SLOT = 3
-
-openingSpecs = [{'a': False, 'w': 0.5, 'h': 0.5, 'x': 0.8, 'z': 0, 'n': 0, 'bvl': 0.0,
-                 'v': 0, 'vl': 0, 't': 0, 'tl': 0}]
-# 'a': active (apply to object),
-# 'w': opening width, 'h': opening height,
-# 'x': horizontal position, 'z': vertical position,
-# 'n': repeat opening with a spacing of x,
-# 'bvl': bevel the inside of the opening,
-# 'v': height of the top arch, 'vl':height of the bottom arch,
-# 't': thickness of the top arch, 'tl': thickness of the bottom arch
-
-
-################################################################################
-
-############################
-#
-# Psuedo macros:
-#
-# random values (in specific range).
-# random value +-0.5
-def rndc(): return (random() - 0.5)
-
-# random value +-1
-
-
-def rndd(): return rndc() * 2
-
-# line/circle intercepts
-# COff = distance perpendicular to the line to the center
-# cRad=radius
-# return the distance paralell to the line to the center of the circle at the intercept.
-# @todo: eleminate result of "None" if possible from  circ() and other subroutines.
-
-
-def circ(COff=0, cRad=1):
-    absCOff = abs(COff)
-    if absCOff > cRad:
-        return None
-    elif absCOff == cRad:
-        return 0
-    else:
-        return sqrt(cRad**2 - absCOff**2)
-
-# bevel blocks.
-# pointsToAffect are: left=(4,6), right=(0,2)
-
-
-def bevelBlockOffsets(offsets, bevel, pointsToAffect):
-    for num in pointsToAffect:
-        offsets[num] = offsets[num][:]
-        offsets[num][0] += bevel
-
-############################
-#
-# Simple material management.
-# Return new, existing, or modified material reference.
-#
-# @todo: create additional materials based on diffuse options.
-#
-
-
-def uMatRGBSet(matName, RGBs, matMod=False, dShader='LAMBERT', dNtz=1.0):
-
-    if matName not in bpy.data.materials:
-        mtl = bpy.data.materials.new(matName)
-        matMod = True
-    else:
-        mtl = bpy.data.materials[matName]
-
-    if matMod:  # Set material values
-        mtl.diffuse_color = RGBs
-        mtl.diffuse_shader = dShader
-        mtl.diffuse_intensity = dNtz
-
-    return mtl
-
-################################################################################
-
-################################################################################
-#
-#  UI functions and object creation.
-#
-
-
-class add_castle(bpy.types.Operator):
-    bl_idname = "mesh.add_castle"
-    bl_label = OBJ_N
-    bl_description = OBJ_N
-    bl_options = {'REGISTER', 'UNDO'}
-
-    # only create object when True
-    # False allows modifying several parameters without creating object
-    ConstructTog: BoolProperty(name="Construct", description="Generate the object", default=True)
-
-    # Base area - set dimensions - Width (front/back) and Depth (sides),
-    # floor origin/offset, thickness, and, material/color.
-    cBaseW: FloatProperty(name="Width", min=WALL_MIN, max=WALL_MAX, default=WALL_DEF, description="Base Width (X)")
-    cBaseD: FloatProperty(name="Depth", min=WALL_MIN, max=WALL_MAX, default=WALL_DEF, description="Base Depth (Y)")
-    cBaseO: FloatProperty(name='Base', min=0, max=WALL_MAX, default=0, description="vert offset from 3D cursor.")
-    cBaseT: FloatProperty(min=BASE_TMIN, max=BASE_TMAX, default=BASE_TMIN, description="Base thickness")
-
-    cBaseRGB: FloatVectorProperty(min=0, max=1, default=(0.1, 0.1, 0.1), subtype='COLOR', size=3)
-
-    CBaseB: BoolProperty(name="BloX", default=False, description="Block flooring")
-    CBaseR: BoolProperty(default=False, description="Round flooring")
-
-    CLvls: IntProperty(name="Levels", min=1, max=LVL_MAX, default=1)
-
-    # current wall level parameter value display.
-    CLvl: IntProperty(name="Level", min=1, max=LVL_MAX, default=1)
-
-    #    curLvl=CLvl
-
-    # block sizing
-    blockX: FloatProperty(name="Width", min=BLOCK_MIN, max=BLOCK_MAX, default=BLOCK_XDEF)
-    blockZ: FloatProperty(name="Height", min=BLOCK_MIN, max=BLOCK_MAX, default=BLOCK_XDEF)
-    blockD: FloatProperty(name="Depth", min=BLOCK_MIN, max=BLOCK_MAX, default=BLOCK_DDEF)
-    # allow 0 for test cases...
-    #    blockD=FloatProperty(name="Depth",min=0,max=BLOCK_MAX,default=BLOCK_DDEF)
-
-    blockVar: BoolProperty(name="Vary", default=True, description="Randomize block sizing")
-
-    blockWVar: FloatProperty(name="Width", min=0, max=BLOCK_VMAX, 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list