Newer
Older
modifier_turbulence: FloatProperty(
name="Turbulence",
description="Turbulence",
min=0.0, max=5.0, default=2.0
)
name="Numbers",
description="Numbers",
min=1, max=27, default=2
)
name="Control0",
description="Control0",
min=0, max=100, default=1
)
name="Control1",
description="Control1",
min=0, max=100, default=1
)
name="Brick size x",
description="",
min=0.0000, max=1.0000, default=0.2500
)
name="Brick size y",
description="",
min=0.0000, max=1.0000, default=0.0525
)
name="Brick size z",
description="",
min=0.0000, max=1.0000, default=0.1250
)
name="Mortar",
description="Mortar",
min=0.000, max=1.500, default=0.01
)
name="Julia Complex 1",
description="",
min=0.000, max=1.500, default=0.360
)
name="Julia Complex 2",
description="",
min=0.000, max=1.500, default=0.250
)
name="Fractal Iteration",
description="",
min=0, max=100, default=20
)
name="Fractal Exponent",
description="",
min=2, max=33, default=2
)
name="Fractal Interior",
description="",
min=1, max=6, default=1
)
name="Fractal Interior Factor",
description="",
min=0.0, max=10.0, default=1.0
)
name="Fractal Exterior",
description="",
min=1, max=8, default=1
)
name="Fractal Exterior Factor",
description="",
min=0.0, max=10.0, default=1.0
)
name="Gradient orientation X",
description="",
min=0, max=1, default=0
)
name="Gradient orientation Y",
description="",
min=0, max=1, default=1
)
name="Gradient orientation Z",
description="",
min=0, max=1, default=0
)
items=(
('3', "3", ""),
('4', "4", ""),
('6', "6", "")
),
name="Pavement pattern 2",
description="maximum: 2",
min=1, max=2, default=2
)
name="Pavement pattern 3",
description="maximum: 3",
min=1, max=3, default=3
)
name="Pavement pattern 4",
description="maximum: 4",
min=1, max=4, default=4
)
name="Pavement pattern 5",
description="maximum: 5",
min=1, max=5, default=5
)
name="Pavement pattern 7",
description="maximum: 7",
min=1, max=7, default=7
)
name="Pavement pattern 12",
description="maximum: 12",
min=1, max=12, default=12
)
name="Pavement pattern 22",
description="maximum: 22",
min=1, max=22, default=22
)
name="Pavement pattern 35",
description="maximum: 35",
min=1, max=35, default=35,
)
name="Pavement tiles",
description="If sides = 6, maximum tiles 5!!!",
min=1, max=6, default=1
)
name="Pavement form",
description="",
min=0, max=4, default=0
)
#########FUNCTIONS#############################################################################
#########FUNCTIONS#############################################################################
name="Functions",
description="Select the function for create pattern",
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
items=(
('NONE', "None", "No indentation"),
("f_algbr_cyl1","Algbr cyl1",""), ("f_algbr_cyl2","Algbr cyl2",""),
("f_algbr_cyl3","Algbr cyl3",""), ("f_algbr_cyl4","Algbr cyl4",""),
("f_bicorn","Bicorn",""), ("f_bifolia","Bifolia",""),
("f_blob","Blob",""), ("f_blob2","Blob2",""),
("f_boy_surface","Boy surface",""), ("f_comma","Comma",""),
("f_cross_ellipsoids","Cross ellipsoids",""),
("f_crossed_trough","Crossed trough",""), ("f_cubic_saddle","Cubic saddle",""),
("f_cushion","Cushion",""), ("f_devils_curve","Devils curve",""),
("f_devils_curve_2d","Devils curve 2d",""),
("f_dupin_cyclid","Dupin cyclid",""), ("f_ellipsoid","Ellipsoid",""),
("f_enneper","Enneper",""), ("f_flange_cover","Flange cover",""),
("f_folium_surface","Folium surface",""),
("f_folium_surface_2d","Folium surface 2d",""), ("f_glob","Glob",""),
("f_heart","Heart",""), ("f_helical_torus","Helical torus",""),
("f_helix1","Helix1",""), ("f_helix2","Helix2",""), ("f_hex_x","Hex x",""),
("f_hex_y","Hex y",""), ("f_hetero_mf","Hetero mf",""),
("f_hunt_surface","Hunt surface",""),
("f_hyperbolic_torus","Hyperbolic torus",""),
("f_isect_ellipsoids","Isect ellipsoids",""),
("f_kampyle_of_eudoxus","Kampyle of eudoxus",""),
("f_kampyle_of_eudoxus_2d","Kampyle of eudoxus 2d",""),
("f_klein_bottle","Klein bottle",""),
("f_kummer_surface_v1","Kummer surface v1",""),
("f_kummer_surface_v2","Kummer surface v2",""),
("f_lemniscate_of_gerono","Lemniscate of gerono",""),
("f_lemniscate_of_gerono_2d","Lemniscate of gerono 2d",""),
("f_mesh1","Mesh1",""), ("f_mitre","Mitre",""),
("f_nodal_cubic","Nodal cubic",""), ("f_noise3d","Noise3d",""),
("f_noise_generator","Noise generator",""), ("f_odd","Odd",""),
("f_ovals_of_cassini","Ovals of cassini",""), ("f_paraboloid","Paraboloid",""),
("f_parabolic_torus","Parabolic torus",""), ("f_ph","Ph",""),
("f_pillow","Pillow",""), ("f_piriform","Piriform",""),
("f_piriform_2d","Piriform 2d",""), ("f_poly4","Poly4",""),
("f_polytubes","Polytubes",""), ("f_quantum","Quantum",""),
("f_quartic_paraboloid","Quartic paraboloid",""),
("f_quartic_saddle","Quartic saddle",""),
("f_quartic_cylinder","Quartic cylinder",""), ("f_r","R",""),
("f_ridge","Ridge",""), ("f_ridged_mf","Ridged mf",""),
("f_rounded_box","Rounded box",""), ("f_sphere","Sphere",""),
("f_spikes","Spikes",""), ("f_spikes_2d","Spikes 2d",""),
("f_spiral","Spiral",""), ("f_steiners_roman","Steiners roman",""),
("f_strophoid","Strophoid",""), ("f_strophoid_2d","Strophoid 2d",""),
("f_superellipsoid","Superellipsoid",""), ("f_th","Th",""),
("f_torus","Torus",""), ("f_torus2","Torus2",""),
("f_torus_gumdrop","Torus gumdrop",""), ("f_umbrella","Umbrella",""),
("f_witch_of_agnesi","Witch of agnesi",""),
("f_witch_of_agnesi_2d","Witch of agnesi 2d","")
),
name="FX",
description="",
min=0.0, max=25.0, default=1.0
)
name="Func plus x",
description="",
items=(('NONE', "None", ""), ('increase', "*", ""), ('plus', "+", "")),
default='NONE',
)
name="FY",
description="",
min=0.0, max=25.0, default=1.0
)
name="Func plus y",
description="",
items=(('NONE', "None", ""), ('increase', "*", ""), ('plus', "+", "")),
default='NONE',
)
name="FZ",
description="",
min=0.0, max=25.0, default=1.0
)
items=(
('NONE', "None", ""),
('increase', "*", ""),
('plus', "+", "")
),
name="P0",
description="",
min=0.0, max=25.0, default=1.0
)
name="P1",
description="",
min=0.0, max=25.0, default=1.0
)
name="P2",
description="",
min=0.0, max=25.0, default=1.0
)
name="P3",
description="",
min=0.0, max=25.0, default=1.0
)
name="P4",
description="",
min=0.0, max=25.0, default=1.0
)
name="P5",
description="",
min=0.0, max=25.0, default=1.0
)
name="P6",
description="",
min=0.0, max=25.0, default=1.0
)
name="P7",
description="",
min=0.0, max=25.0, default=1.0
)
name="P8",
description="",
min=0.0, max=25.0, default=1.0
)
name="P9",
description="",
min=0.0, max=25.0, default=1.0
)
#########################################
name="Rotate X",
description="",
min=-180.0, max=180.0, default=0.0
)
name="Rotate Y",
description="",
min=-180.0, max=180.0, default=0.0
)
name="Rotate Z",
description="",
min=-180.0, max=180.0, default=0.0
)
name="Move X",
description="",
min=-100000.0, max=100000.0, default=0.0
)
min=-100000.0,
max=100000.0,
default=0.0,
min=-100000.0,
max=100000.0,
default=0.0,
Bastien Montagne
committed
###############################################################################
# Object POV properties.
###############################################################################
class RenderPovSettingsObject(PropertyGroup):
"""Declare object and primitives level properties controllable in UI and translated to POV."""
# Pov inside_vector used for CSG
inside_vector: FloatVectorProperty(
name="CSG Inside Vector",
description="Direction to shoot CSG inside test rays at",
precision=4,
step=0.01,
min=0,
soft_max=1,
default=(0.001, 0.001, 0.5),
options={'ANIMATABLE'},
subtype='XYZ'
)
Campbell Barton
committed
# Importance sampling
importance_value: FloatProperty(
name="Radiosity Importance",
description="Priority value relative to other objects for sampling radiosity rays. "
"Increase to get more radiosity rays at comparatively small yet "
"bright objects",
min=0.01, max=1.00, default=0.50
)
Campbell Barton
committed
# Collect photons
name="Receive Photon Caustics",
description="Enable object to collect photons from other objects caustics. Turn "
"off for objects that don't really need to receive caustics (e.g. objects"
" that generate caustics often don't need to show any on themselves)",
default=True,
)
Campbell Barton
committed
# Photons spacing_multiplier
spacing_multiplier: FloatProperty(
name="Photons Spacing Multiplier",
description="Multiplier value relative to global spacing of photons. "
"Decrease by half to get 4x more photons at surface of "
"this object (or 8x media photons than specified in the globals",
min=0.01, max=1.00, default=1.00)
Maurice Raybaud
committed
Bastien Montagne
committed
##################################CustomPOV Code############################
Campbell Barton
committed
# Only DUMMIES below for now:
replacement_text: StringProperty(
name="Declared name:",
description="Type the declared name in custom POV code or an external .inc "
"it points at. Any POV shape expected e.g: isosurface {}",
default="",
)
Bastien Montagne
committed
#############POV specific object properties.############################
object_as: StringProperty(maxlen=1024)
imported_loc: FloatVectorProperty(
name="Imported Pov location",
imported_loc_cap: FloatVectorProperty(
Maurice Raybaud
committed
name="Imported Pov location",
unlock_parameters: BoolProperty(name="Lock",default = False)
# not in UI yet but used for sor (lathe) / prism... pov primitives
name="Povray Shape Type",
items=(("birail", "Birail", ""),
("cairo", "Cairo", ""),
("lathe", "Lathe", ""),
("loft", "Loft", ""),
("prism", "Prism", ""),
("sphere_sweep", "Sphere Sweep", "")),
default="sphere_sweep",
)
name="Mesh Write As",
items=(("blobgrid", "Blob Grid", ""),
("grid", "Grid", ""),
("mesh", "Mesh", "")),
default="mesh",
)
name="IOR", description="IOR",
min=1.0, max=10.0,default=1.0
)
# shape_as_light = StringProperty(name="Light",maxlen=1024)
# fake_caustics_power = FloatProperty(
# name="Power", description="Fake caustics power",
# min=0.0, max=10.0,default=0.0)
# target = BoolProperty(name="Target",description="",default=False)
# target_value = FloatProperty(
# name="Value", description="",
# min=0.0, max=1.0,default=1.0)
# refraction = BoolProperty(name="Refraction",description="",default=False)
# dispersion = BoolProperty(name="Dispersion",description="",default=False)
# dispersion_value = FloatProperty(
# name="Dispersion", description="Good values are 1.01 to 1.1. ",
# min=1.0, max=1.2,default=1.01)
# dispersion_samples = IntProperty(name="Samples",min=2, max=100,default=7)
# reflection = BoolProperty(name="Reflection",description="",default=False)
# pass_through = BoolProperty(name="Pass through",description="",default=False)
no_shadow: BoolProperty(name="No Shadow",default=False)
no_image: BoolProperty(name="No Image",default=False)
no_reflection: BoolProperty(name="No Reflection",default=False)
no_radiosity: BoolProperty(name="No Radiosity",default=False)
inverse: BoolProperty(name="Inverse",default=False)
sturm: BoolProperty(name="Sturm",default=False)
double_illuminate: BoolProperty(name="Double Illuminate",default=False)
hierarchy: BoolProperty(name="Hierarchy",default=False)
hollow: BoolProperty(name="Hollow",default=False)
name="Boundorclip",
items=(("none", "None", ""),
("bounded_by", "Bounded_by", ""),
("clipped_by", "Clipped_by", "")),
default="none",
)
boundorclipob: StringProperty(maxlen=1024)
addboundorclip: BoolProperty(description="",default=False)
blob_threshold: FloatProperty(name="Threshold",min=0.00, max=10.0, default=0.6)
blob_strength: FloatProperty(name="Strength",min=-10.00, max=10.0, default=1.00)
res_u: IntProperty(name="U",min=100, max=1000, default=500)
res_v: IntProperty(name="V",min=100, max=1000, default=500)
name="Contained by",
items=(("box", "Box", ""),
("sphere", "Sphere", "")),
default="box",
)
container_scale: FloatProperty(name="Container Scale",min=0.0, max=10.0, default=1.00)
threshold: FloatProperty(name="Threshold",min=0.0, max=10.0, default=0.00)
accuracy: FloatProperty(name="Accuracy",min=0.0001, max=0.1, default=0.001)
max_gradient: FloatProperty(name="Max Gradient",min=0.0, max=100.0, default=5.0)
all_intersections: BoolProperty(name="All Intersections",default=False)
max_trace: IntProperty(name="Max Trace",min=1, max=100,default=1)
Maurice Raybaud
committed
def prop_update_cylinder(self, context):
"""Update POV cylinder primitive parameters not only at creation but anytime they are changed in UI."""
Maurice Raybaud
committed
if bpy.ops.pov.cylinder_update.poll():
bpy.ops.pov.cylinder_update()
name="Cylinder R",min=0.00, max=10.0, default=0.04, update=prop_update_cylinder)
cylinder_location_cap: FloatVectorProperty(
name="Cylinder Cap Location", subtype='TRANSLATION',
description="The position of the 'other' end of the cylinder (relative to object location)",
default=(0.0, 0.0, 2.0), update=prop_update_cylinder
)
Maurice Raybaud
committed
imported_cyl_loc: FloatVectorProperty(
Maurice Raybaud
committed
name="Imported Pov location",
imported_cyl_loc_cap: FloatVectorProperty(
Maurice Raybaud
committed
name="Imported Pov location",
Maurice Raybaud
committed
def prop_update_sphere(self, context):
"""Update POV sphere primitive parameters not only at creation but anytime they are changed in UI."""
bpy.ops.pov.sphere_update()
sphere_radius: FloatProperty(
name="Sphere radius",min=0.00, max=10.0, default=0.5, update=prop_update_sphere)
def prop_update_cone(self, context):
"""Update POV cone primitive parameters not only at creation but anytime they are changed in UI."""
bpy.ops.pov.cone_update()
cone_base_radius: FloatProperty(
name = "Base radius",
description = "The first radius of the cone",
default = 1.0, min = 0.01, max = 100.0, update=prop_update_cone
)
name = "Cap radius",
description = "The second radius of the cone",
default = 0.3, min = 0.0, max = 100.0, update=prop_update_cone
)
name = "Segments",
description = "Radial segmentation of proxy mesh",
default = 16, min = 3, max = 265, update=prop_update_cone
)
name = "Height",
description = "Height of the cone",
default = 2.0, min = 0.01, max = 100.0, update=prop_update_cone
)
###########Parametric
def prop_update_parametric(self, context):
"""Update POV parametric surface primitive parameters not only at creation but anytime they are changed in UI."""
bpy.ops.pov.parametric_update()
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
u_min: FloatProperty(
name = "U Min",
description = "",
default = 0.0, update=prop_update_parametric
)
v_min: FloatProperty(
name = "V Min",
description = "",
default = 0.0,
update=prop_update_parametric
)
u_max: FloatProperty(
name = "U Max",
description = "",
default = 6.28,
update=prop_update_parametric
)
v_max: FloatProperty(
name = "V Max",
description = "",
default = 12.57, update=prop_update_parametric
)
maxlen=1024,
default = "cos(v)*(1+cos(u))*sin(v/8)",
update=prop_update_parametric
)
maxlen=1024,
default = "sin(u)*sin(v/8)+cos(v/8)*1.5",
update=prop_update_parametric
)
maxlen=1024,
default = "sin(v)*(1+cos(u))*sin(v/8)",
update=prop_update_parametric
)
def prop_update_torus(self, context):
"""Update POV torus primitive parameters not only at creation but anytime they are changed in UI."""
bpy.ops.pov.torus_update()
torus_major_segments: IntProperty(
name = "Segments",
description = "Radial segmentation of proxy mesh",
default = 48, min = 3, max = 720, update=prop_update_torus
)
torus_minor_segments: IntProperty(
name = "Segments",
description = "Cross-section segmentation of proxy mesh",
default = 12, min = 3, max = 720, update=prop_update_torus
)
torus_major_radius: FloatProperty(
name="Major radius",
description="Major radius",
min=0.00, max=100.00, default=1.0, update=prop_update_torus
)
torus_minor_radius: FloatProperty(
name="Minor radius",
description="Minor radius",
min=0.00, max=100.00, default=0.25, update=prop_update_torus
)
###########Rainbow
arc_angle: FloatProperty(
name = "Arc angle",
description = "The angle of the raynbow arc in degrees",
default = 360, min = 0.01, max = 360.0
)
falloff_angle: FloatProperty(
name = "Falloff angle",
description = "The angle after which rainbow dissolves into background",
default = 360, min = 0.0, max = 360
)
quality: IntProperty(
name = "Quality",
description = "",
default = 100, min = 1, max = 100
)
hf_filename: StringProperty(maxlen = 1024)
name="Gamma",
description="Gamma",
min=0.0001, max=20.0, default=1.0
)
name="Premultiplied",
description="Premultiplied",
default=True,
)
name="Smooth",
description="Smooth",
default=False,
)
name="Water Level",
description="Wather Level",
min=0.00, max=1.00, default=0.0,
)
name="Hierarchy",
description="Height field hierarchy",
default=True,
)
def prop_update_superellipsoid(self, context):
"""Update POV superellipsoid primitive parameters not only at creation but anytime they are changed in UI."""
bpy.ops.pov.superellipsoid_update()
name="Parameter 1",
description="",
min=0.00, max=10.0, default=0.04
)
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
name="Parameter 2",
description="",
min=0.00, max=10.0, default=0.04
)
se_u: IntProperty(
name = "U-segments",
description = "radial segmentation",
default = 20, min = 4, max = 265,
update=prop_update_superellipsoid
)
se_v: IntProperty(
name = "V-segments",
description = "lateral segmentation",
default = 20, min = 4, max = 265,
update=prop_update_superellipsoid
)
se_n1: FloatProperty(
name = "Ring manipulator",
description = "Manipulates the shape of the Ring",
default = 1.0, min = 0.01, max = 100.0,
update=prop_update_superellipsoid
)
se_n2: FloatProperty(name = "Cross manipulator",
description = "Manipulates the shape of the cross-section",
default = 1.0, min = 0.01, max = 100.0,
update=prop_update_superellipsoid
)
se_edit: EnumProperty(items=[("NOTHING", "Nothing", ""),
("NGONS", "N-Gons", ""),
("TRIANGLES", "Triangles", "")],
name="Fill up and down",
description="",
default='TRIANGLES',
update=prop_update_superellipsoid
)
#############Used for loft and Superellipsoid, etc.
items=(
("birail", "Birail", ""),
("cairo", "Cairo", ""),
("lathe", "Lathe", ""),
("loft", "Loft", ""),
("prism", "Prism", ""),
("sphere_sweep", "Sphere Sweep", ""),
("sor", "Surface of Revolution", "")
),
#############Supertorus
def prop_update_supertorus(self, context):
"""Update POV supertorus primitive parameters not only at creation but anytime they are changed in UI."""
bpy.ops.pov.supertorus_update()
name="Major radius",
description="Major radius",
name="Minor radius",
description="Minor radius",
min=0.00, max=100.00, default=0.25,
update=prop_update_supertorus
)
name="Ring",
description="Ring manipulator",
min=0.0001, max=100.00, default=1.00,
update=prop_update_supertorus
)
name="Cross",
description="Cross manipulator",
min=0.0001, max=100.00, default=1.00,
update=prop_update_supertorus
)
name="Accuracy",
description="Supertorus accuracy",
min=0.00001, max=1.00, default=0.001
)
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
name="Gradient",
description="Max gradient",
min=0.0001, max=100.00, default=10.00,
update=prop_update_supertorus
)
st_R: FloatProperty(
name = "big radius",
description = "The radius inside the tube",
default = 1.0, min = 0.01, max = 100.0,
update=prop_update_supertorus
)
st_r: FloatProperty(
name = "small radius",
description = "The radius of the tube",
default = 0.3, min = 0.01, max = 100.0,
update=prop_update_supertorus
)
st_u: IntProperty(
name = "U-segments",
description = "radial segmentation",
default = 16, min = 3, max = 265,
update=prop_update_supertorus
)
st_v: IntProperty(
name = "V-segments",
description = "lateral segmentation",
default = 8, min = 3, max = 265,
update=prop_update_supertorus
)
st_n1: FloatProperty(
name = "Ring manipulator",
description = "Manipulates the shape of the Ring",
default = 1.0, min = 0.01, max = 100.0,
update=prop_update_supertorus
)
st_n2: FloatProperty(
name = "Cross manipulator",
description = "Manipulates the shape of the cross-section",
default = 1.0, min = 0.01, max = 100.0,
update=prop_update_supertorus
)
st_ie: BoolProperty(
name = "Use Int.+Ext. radii",
description = "Use internal and external radii",
default = False,
update=prop_update_supertorus
)
st_edit: BoolProperty(
name="",
description="",
default=False,
options={'HIDDEN'},
update=prop_update_supertorus
)
########################Loft
loft_n: IntProperty(
name = "Segments",
description = "Vertical segments",
default = 16, min = 3, max = 720
)
loft_rings_bottom: IntProperty(
name = "Bottom",
description = "Bottom rings",
default = 5, min = 2, max = 100
)
loft_rings_side: IntProperty(
name = "Side",
description = "Side rings",
default = 10, min = 2, max = 100
)
loft_thick: FloatProperty(
name = "Thickness",
description = "Manipulates the shape of the Ring",
default = 0.3, min = 0.01, max = 1.0
)
loft_r: FloatProperty(
name = "Radius",
description = "Radius",
default = 1, min = 0.01, max = 10
)
loft_height: FloatProperty(
name = "Height",