ToolParticlePaint#
(Particle Paint)
- Category:
Create
- Default object name:
particle_paint
- Inherits from: Tool
Description#
Paint particles in Point Cloud objects.
Public Attributes#
Type | Name | Visual Hint | Description |
---|---|---|---|
double |
opacity_threshold |
VISUAL_HINT_PERCENTAGE |
Set the threshold value under which the object is considered transparent therefore not selectable. |
long |
picking_precision |
VISUAL_HINT_PIXEL |
Distance in screen space for particle picking. |
long |
paint_mode |
VISUAL_HINT_DEFAULT |
Define mouse interaction: either Stamp (one particle spread created on mouse down, modified while mouse is dragged, validated on mouse up) or Sketch. |
long |
tool_type |
VISUAL_HINT_DEFAULT |
|
bool |
display_path |
VISUAL_HINT_DEFAULT |
Display current stroke's path and brush hits. |
bool |
display_properties |
VISUAL_HINT_DEFAULT |
Display current stroke's exported properties. |
action |
save_brush |
VISUAL_HINT_DEFAULT |
Save current Brush settings as a Preset. |
action |
load_brush |
VISUAL_HINT_DEFAULT |
Select a Brush among Presets. |
action |
save_eraser |
VISUAL_HINT_DEFAULT |
Save current Eraser settings as a Preset. |
action |
load_eraser |
VISUAL_HINT_DEFAULT |
Select an Eraser among Presets. |
action |
save_snapper |
VISUAL_HINT_DEFAULT |
Save current Snapper settings as a Preset. |
action |
load_snapper |
VISUAL_HINT_DEFAULT |
Select a Snapper among Presets. |
reference (Group ) |
geometry_group |
VISUAL_HINT_GROUP |
Group of scene objects we can apply particles on. |
long |
snap_default_plane |
VISUAL_HINT_DEFAULT |
Snap plane when no surface is hit. |
bool |
surface_normal |
VISUAL_HINT_DEFAULT |
Normal to surface at brush location. |
bool |
surface_raycast |
VISUAL_HINT_DEFAULT |
Raycast data on hit surface. |
bool |
path_UV |
VISUAL_HINT_DEFAULT |
U along stroke path, V as distance to stroke path, both normalized in [0,1] range. |
bool |
brush_orientation |
VISUAL_HINT_DEFAULT |
Vector from brush center to particle. |
bool |
path_direction |
VISUAL_HINT_DEFAULT |
Stroke vector orientation (local tangent to path). |
long |
rotation |
VISUAL_HINT_DEFAULT |
Combine Surface Normal and Brush or Path vector to local rotation (to be used by an ExtractProperty node and mapped onto a Scatterer rotation for example). |
bool |
brush_distance |
VISUAL_HINT_DEFAULT |
Distance from brush center to particle. |
long |
scaling |
VISUAL_HINT_DEFAULT |
Convert brush distance to uniform scaling (to be used by an ExtractProperty node and mapped onto a Scatterer scale for example). |
bool |
stroke_id |
VISUAL_HINT_DEFAULT |
Id of stroke the particle belongs to. |
bool |
custom |
VISUAL_HINT_DEFAULT |
Custom property defined below. |
string |
custom_name |
VISUAL_HINT_TAG_MENU |
Property name. |
string |
custom_value |
VISUAL_HINT_DEFAULT |
Property value(s). |
CID#
class "ToolParticlePaint" "Tool" {
#version 0.9
icon "../icons/object_icons/tool_paint_particle.iconrc"
category "Create"
doc "Paint particles in Point Cloud objects."
ui_weight 45
attribute_group "picking" {
percentage "opacity_threshold" {
doc "Set the threshold value under which the object is considered transparent therefore not selectable."
slider yes
ui_range yes 0.0 1
value 0.5
}
pixel "picking_precision" {
doc "Distance in screen space for particle picking."
value 10
}
}
attribute_group "particle_paint_tool" {
long "paint_mode" {
doc "Define mouse interaction: either Stamp (one particle spread created on mouse down, modified while mouse is dragged, validated on mouse up) or Sketch."
preset "Stamp" "0"
preset "Sketch" "1"
value 1
}
long "tool_type" {
preset "Airbrush" "3"
preset "Paintbrush" "0"
preset "Eraser" "1"
preset "Snapper" "2"
value 3
}
bool "display_path" {
doc "Display current stroke\'s path and brush hits."
value no
}
bool "display_properties" {
doc "Display current stroke\'s exported properties."
value no
}
}
attribute_group "brush" {
reference "brush" {
filter "ToolBrush"
hidden yes
promote_attribute yes
value ""
}
action "save_brush" {
doc "Save current Brush settings as a Preset."
value <empty>
}
action "load_brush" {
doc "Select a Brush among Presets."
value <empty>
}
}
attribute_group "eraser" {
reference "eraser" {
filter "ToolEraser"
hidden yes
promote_attribute yes
value ""
}
action "save_eraser" {
doc "Save current Eraser settings as a Preset."
value <empty>
}
action "load_eraser" {
doc "Select an Eraser among Presets."
value <empty>
}
}
attribute_group "snapper" {
reference "snapper" {
filter "ToolSnapper"
hidden yes
promote_attribute yes
value ""
}
action "save_snapper" {
doc "Save current Snapper settings as a Preset."
value <empty>
}
action "load_snapper" {
doc "Select a Snapper among Presets."
value <empty>
}
}
attribute_group "surface_snapping" {
group "geometry_group" {
doc "Group of scene objects we can apply particles on."
filter "SceneObject"
value ""
}
long "snap_default_plane" {
doc "Snap plane when no surface is hit."
preset "YZ" "0"
preset "XZ" "1"
preset "YX" "2"
preset "None" "3"
value 1
}
}
attribute_group "particle_properties" {
doc "In addition to positions, store extra properties foreach particle."
collapsed yes
bool "surface_normal" {
doc "Normal to surface at brush location."
value no
}
bool "surface_raycast" {
doc "Raycast data on hit surface."
value no
}
bool "path_UV" {
doc "U along stroke path, V as distance to stroke path, both normalized in [0,1] range."
value no
}
bool "brush_orientation" {
doc "Vector from brush center to particle."
value no
}
bool "path_direction" {
doc "Stroke vector orientation (local tangent to path)."
value no
}
long "rotation" {
doc "Combine Surface Normal and Brush or Path vector to local rotation (to be used by an ExtractProperty node and mapped onto a Scatterer rotation for example)."
preset "None" "0"
preset "Brush Orientation" "1"
preset "Path Direction" "2"
value 0
}
bool "brush_distance" {
doc "Distance from brush center to particle."
value no
}
long "scaling" {
doc "Convert brush distance to uniform scaling (to be used by an ExtractProperty node and mapped onto a Scatterer scale for example)."
preset "None" "0"
preset "Normalized Radius" "1"
preset "Normalized Radius Inverse" "2"
value 0
}
bool "stroke_id" {
doc "Id of stroke the particle belongs to."
value no
}
bool "custom" {
doc "Custom property defined below."
value no
}
tag_menu "custom_name" {
doc "Property name."
read_only yes
value ""
}
string "custom_value" {
doc "Property value(s)."
read_only yes
value ""
}
}
}