Newer
Older
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
NodeItem("ShaderNodeBsdfAnisotropic"),
NodeItem("ShaderNodeBsdfDiffuse"),
NodeItem("ShaderNodeBsdfGlass"),
NodeItem("ShaderNodeBsdfGlossy"),
NodeItem("ShaderNodeBsdfHair"),
NodeItem("ShaderNodeBsdfRefraction"),
NodeItem("ShaderNodeBsdfToon"),
NodeItem("ShaderNodeBsdfTranslucent"),
NodeItem("ShaderNodeBsdfTransparent"),
NodeItem("ShaderNodeBsdfVelvet"),
NodeItem("ShaderNodeBump"),
NodeItem("ShaderNodeCameraData"),
NodeItem("ShaderNodeCombineHSV"),
NodeItem("ShaderNodeCombineRGB"),
NodeItem("ShaderNodeCombineXYZ"),
NodeItem("ShaderNodeEmission"),
NodeItem("ShaderNodeExtendedMaterial"),
NodeItem("ShaderNodeFresnel"),
NodeItem("ShaderNodeGamma"),
NodeItem("ShaderNodeGeometry"),
NodeItem("ShaderNodeGroup"),
NodeItem("ShaderNodeHairInfo"),
NodeItem("ShaderNodeHoldout"),
NodeItem("ShaderNodeHueSaturation"),
NodeItem("ShaderNodeInvert"),
NodeItem("ShaderNodeLampData"),
NodeItem("ShaderNodeLayerWeight"),
NodeItem("ShaderNodeLightFalloff"),
NodeItem("ShaderNodeLightPath"),
NodeItem("ShaderNodeMapping"),
NodeItem("ShaderNodeMaterial"),
NodeItem("ShaderNodeMath"),
NodeItem("ShaderNodeMixRGB"),
NodeItem("ShaderNodeMixShader"),
NodeItem("ShaderNodeNewGeometry"),
NodeItem("ShaderNodeNormal"),
NodeItem("ShaderNodeNormalMap"),
NodeItem("ShaderNodeObjectInfo"),
NodeItem("ShaderNodeOutput"),
NodeItem("ShaderNodeOutputLamp"),
NodeItem("ShaderNodeOutputLineStyle"),
NodeItem("ShaderNodeOutputMaterial"),
NodeItem("ShaderNodeOutputWorld"),
NodeItem("ShaderNodeParticleInfo"),
NodeItem("ShaderNodeRGB"),
NodeItem("ShaderNodeRGBCurve"),
NodeItem("ShaderNodeRGBToBW"),
NodeItem("ShaderNodeScript"),
NodeItem("ShaderNodeSeparateHSV"),
NodeItem("ShaderNodeSeparateRGB"),
NodeItem("ShaderNodeSeparateXYZ"),
NodeItem("ShaderNodeSqueeze"),
NodeItem("ShaderNodeSubsurfaceScattering"),
NodeItem("ShaderNodeTangent"),
NodeItem("ShaderNodeTexBrick"),
NodeItem("ShaderNodeTexChecker"),
NodeItem("ShaderNodeTexCoord"),
NodeItem("ShaderNodeTexEnvironment"),
NodeItem("ShaderNodeTexGradient"),
NodeItem("ShaderNodeTexImage"),
NodeItem("ShaderNodeTexMagic"),
NodeItem("ShaderNodeTexMusgrave"),
NodeItem("ShaderNodeTexNoise"),
NodeItem("ShaderNodeTexPointDensity"),
NodeItem("ShaderNodeTexSky"),
NodeItem("ShaderNodeTexVoronoi"),
NodeItem("ShaderNodeTexWave"),
NodeItem("ShaderNodeTexture"),
NodeItem("ShaderNodeUVAlongStroke"),
NodeItem("ShaderNodeUVMap"),
NodeItem("ShaderNodeValToRGB"),
NodeItem("ShaderNodeValue"),
NodeItem("ShaderNodeVectorCurve"),
NodeItem("ShaderNodeVectorMath"),
NodeItem("ShaderNodeVectorTransform"),
NodeItem("ShaderNodeVolumeAbsorption"),
NodeItem("ShaderNodeVolumeScatter"),
NodeItem("ShaderNodeWavelength"),
NodeItem("ShaderNodeWireframe"),
]),
PovrayTextureNodeCategory("TEXTUREOUTPUT", "Output", items=[
NodeItem("TextureNodeValToRGB"),
NodeItem("TextureOutputNode"),
]),
PovraySceneNodeCategory("ISOSURFACE", "Isosurface", items=[
NodeItem("IsoPropsNode"),
]),
PovraySceneNodeCategory("FOG", "Fog", items=[
NodeItem("PovrayFogNode"),
]),
]
############### end nodes
Bastien Montagne
committed
###############################################################################
# Texture POV properties.
###############################################################################
class RenderPovSettingsTexture(PropertyGroup):
#former Space properties from removed Blender Internal
active_texture_index: IntProperty(
name = "Index for texture_slots",
default = 0)
use_limited_texture_context: BoolProperty(
name="",
description="Use the limited version of texture user (for ‘old shading’ mode)",
default=True)
texture_context: EnumProperty(
name="Texture context",
description="Type of texture data to display and edit",
items=(('MATERIAL', "", "Show material textures", "MATERIAL",0), #"Show material textures"
('WORLD', "", "Show world textures", "WORLD",1), #"Show world textures"
('LAMP', "", "Show lamp textures", "LIGHT",2), #"Show lamp textures"
('PARTICLES', "", "Show particles textures", "PARTICLES",3), #"Show particles textures"
('LINESTYLE', "", "Show linestyle textures", "LINE_DATA",4), #"Show linestyle textures"
('OTHER', "", "Show other data textures", "TEXTURE_DATA",5)), #"Show other data textures"
default = 'MATERIAL')
name="Enable custom texture gamma",
Campbell Barton
committed
description="Notify some custom gamma for which texture has been precorrected "
"without the file format carrying it and only if it differs from your "
Bastien Montagne
committed
"OS expected standard (see pov doc)",
name="Custom texture gamma",
description="value for which the file was issued e.g. a Raw photo is gamma 1.0",
min=0.45, max=5.00, soft_min=1.00, soft_max=2.50, default=1.00)
Bastien Montagne
committed
##################################CustomPOV Code############################
#commented out below if we wanted custom pov code in texture only, inside exported material:
#replacement_text = StringProperty(
# name="Declared name:",
# description="Type the declared name in custom POV code or an external .inc "
# "it points at. pigment {} expected",
# default="")
Bastien Montagne
committed
name="Texture_Type",
description="Choose between Blender or POV parameters to specify texture",
items= (('agate', 'Agate', '','PLUGIN', 0),
('aoi', 'Aoi', '', 'PLUGIN', 1),
('average', 'Average', '', 'PLUGIN', 2),
('boxed', 'Boxed', '', 'PLUGIN', 3),
('bozo', 'Bozo', '', 'PLUGIN', 4),
('bumps', 'Bumps', '', 'PLUGIN', 5),
('cells', 'Cells', '', 'PLUGIN', 6),
('crackle', 'Crackle', '', 'PLUGIN', 7),
('cubic', 'Cubic', '', 'PLUGIN', 8),
('cylindrical', 'Cylindrical', '', 'PLUGIN', 9),
('density_file', 'Density', '(.df3)', 'PLUGIN', 10),
('dents', 'Dents', '', 'PLUGIN', 11),
('fractal', 'Fractal', '', 'PLUGIN', 12),
('function', 'Function', '', 'PLUGIN', 13),
('gradient', 'Gradient', '', 'PLUGIN', 14),
('granite', 'Granite', '', 'PLUGIN', 15),
('image_pattern', 'Image pattern', '', 'PLUGIN', 16),
('leopard', 'Leopard', '', 'PLUGIN', 17),
('marble', 'Marble', '', 'PLUGIN', 18),
('onion', 'Onion', '', 'PLUGIN', 19),
('pigment_pattern', 'pigment pattern', '', 'PLUGIN', 20),
('planar', 'Planar', '', 'PLUGIN', 21),
('quilted', 'Quilted', '', 'PLUGIN', 22),
('radial', 'Radial', '', 'PLUGIN', 23),
('ripples', 'Ripples', '', 'PLUGIN', 24),
('slope', 'Slope', '', 'PLUGIN', 25),
('spherical', 'Spherical', '', 'PLUGIN', 26),
('spiral1', 'Spiral1', '', 'PLUGIN', 27),
('spiral2', 'Spiral2', '', 'PLUGIN', 28),
('spotted', 'Spotted', '', 'PLUGIN', 29),
('waves', 'Waves', '', 'PLUGIN', 30),
('wood', 'Wood', '', 'PLUGIN', 31),
('wrinkles', 'Wrinkles', '', 'PLUGIN', 32),
('brick', "Brick", "", 'PLUGIN', 33),
('checker', "Checker", "", 'PLUGIN', 34),
('hexagon', "Hexagon", "", 'PLUGIN', 35),
('object', "Mesh", "", 'PLUGIN', 36),
('emulator', "Internal Emulator", "", 'PLUG', 37)),
default='emulator',
)
name="Magnet style",
description="magnet or julia",
items=(('mandel', "Mandelbrot", ""),('julia', "Julia", "")),
default='julia')
name="Magnet_type",
description="1 or 2",
min=1, max=2, default=2)
name="Warp Types",
description="Select the type of warp",
items=(('PLANAR', "Planar", ""), ('CUBIC', "Cubic", ""),
('SPHERICAL', "Spherical", ""), ('TOROIDAL', "Toroidal", ""),
('CYLINDRICAL', "Cylindrical", ""), ('NONE', "None", "No indentation")),
default='NONE')
name="Warp Orientation",
description="Select the orientation of warp",
items=(('x', "X", ""), ('y', "Y", ""), ('z', "Z", "")),
default='y')
name="Waves type",
description="Select the type of waves",
items=(('ramp', "Ramp", ""), ('sine', "Sine", ""), ('scallop', "Scallop", ""),
('cubic', "Cubic", ""), ('poly', "Poly", ""), ('triangle', 'Triangle', "")),
name="Noise Generators",
description="Noise Generators",
name="Distance exponent",
description="Distance exponent",
min=0.0, max=100.0, default=1.0)
warp_tor_major_radius: FloatProperty(
name="Major radius",
description="Torus is distance from major radius",
warp_turbulence_x: FloatProperty(
name="Turbulence X",
description="Turbulence X",
min=0.0, max=5.0, default=0.0)
warp_turbulence_y: FloatProperty(
name="Turbulence Y",
description="Turbulence Y",
warp_turbulence_z: FloatProperty(
name="Turbulence Z",
description="Turbulence Z",
min=0.0, max=5.0, default=0.0)
name="Turbulence octaves",
description="Turbulence octaves",
name="Turbulence lambda",
description="Turbulence lambda",
min=0.0, max=5.0, default=1.00)
name="Turbulence omega",
description="Turbulence omega",
description="The phase value causes the map entries to be shifted so that the map "
"starts and ends at a different place",
min=0.0, max=2.0, default=0.0)
modifier_frequency: FloatProperty(
name="Frequency",
description="The frequency keyword adjusts the number of times that a color map "
"repeats over one cycle of a pattern",
modifier_turbulence: FloatProperty(
name="Turbulence",
description="Turbulence",
name="Numbers",
description="Numbers",
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="",
name="Brick size y",
description="",
min=0.0000, max=1.0000, default=0.0525)
name="Brick size z",
description="",
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)
name="Pavement sides",
description="",
items=(('3', "3", ""), ('4', "4", ""), ('6', "6", "")),
default='3')
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="",
#########FUNCTIONS#############################################################################
#########FUNCTIONS#############################################################################
name="Functions",
description="Select the function for create pattern",
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_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","")),
default='NONE')
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)
name="Func plus z",
description="",
items=(('NONE', "None", ""), ('increase', "*", ""), ('plus', "+", "")),
default='NONE')
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="",
#########################################
name="Rotate X",
description="",
name="Rotate Y",
description="",
name="Rotate Z",
description="",
name="Move X",
description="",
name="Move Y",
description="",
name="Move Z",
description="",
name="Scale X",
description="",
name="Scale Y",
description="",
name="Scale Z",
description="",
min=0.0, max=10000.0, default=1.0)
Bastien Montagne
committed
###############################################################################
# Object POV properties.
###############################################################################
class RenderPovSettingsObject(PropertyGroup):
# 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(
Campbell Barton
committed
description="Priority value relative to other objects for sampling radiosity rays. "
"Increase to get more radiosity rays at comparatively small yet "
Bastien Montagne
committed
"bright objects",
Maurice Raybaud
committed
min=0.01, max=1.00, default=0.50)
Campbell Barton
committed
# Collect photons
name="Receive Photon Caustics",
Campbell Barton
committed
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)",
Campbell Barton
committed
# Photons spacing_multiplier
spacing_multiplier: FloatProperty(
Maurice Raybaud
committed
name="Photons Spacing Multiplier",
Campbell Barton
committed
description="Multiplier value relative to global spacing of photons. "
"Decrease by half to get 4x more photons at surface of "
Maurice Raybaud
committed
"this object (or 8x media photons than specified in the globals",
min=0.01, max=1.00, default=1.00)
Bastien Montagne
committed
##################################CustomPOV Code############################
Campbell Barton
committed
# Only DUMMIES below for now:
replacement_text: StringProperty(
Bastien Montagne
committed
name="Declared name:",
Campbell Barton
committed
description="Type the declared name in custom POV code or an external .inc "
Bastien Montagne
committed
"it points at. Any POV shape expected e.g: isosurface {}",
default="")
#############POV specific object properties.############################
object_as: StringProperty(maxlen=1024)
imported_loc: FloatVectorProperty(
name="Imported Pov location",
default=(0.0, 0.0, 0.0))
imported_loc_cap: FloatVectorProperty(
Maurice Raybaud
committed
name="Imported Pov location",
Maurice Raybaud
committed
default=(0.0, 0.0, 2.0))
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):
if bpy.ops.pov.cylinder_update.poll():
bpy.ops.pov.cylinder_update()
cylinder_radius: FloatProperty(name="Cylinder R",min=0.00, max=10.0, default=0.04, update=prop_update_cylinder)
cylinder_location_cap: FloatVectorProperty(
Maurice Raybaud
committed
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,
)
imported_cyl_loc: FloatVectorProperty(
Maurice Raybaud
committed
name="Imported Pov location",
Maurice Raybaud
committed
default=(0.0, 0.0, 0.0))
imported_cyl_loc_cap: FloatVectorProperty(
Maurice Raybaud
committed
name="Imported Pov location",
Maurice Raybaud
committed
default=(0.0, 0.0, 2.0))
def prop_update_sphere(self, context):
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):
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)
cone_base_z: FloatProperty()
cone_cap_z: FloatProperty()
###########Parametric
def prop_update_parametric(self, context):
bpy.ops.pov.parametric_update()
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)
###########Torus
def prop_update_torus(self, context):
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)
##############Superellipsoid
def prop_update_superellipsoid(self, context):
bpy.ops.pov.superellipsoid_update()
name="Parameter 1",
description="",
min=0.00, max=10.0, default=0.04)
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.
name="Povray Shape Type",
items=(("birail", "Birail", ""),
("cairo", "Cairo", ""),
("lathe", "Lathe", ""),
("loft", "Loft", ""),
("prism", "Prism", ""),
("sphere_sweep", "Sphere Sweep", ""),
("sor", "Surface of Revolution", "")),
default="sphere_sweep")
#############Supertorus
def prop_update_supertorus(self, context):
bpy.ops.pov.supertorus_update()
name="Major radius",
description="Major radius",
min=0.00, max=100.00, default=1.0,
update=prop_update_supertorus)
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)
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",