Skip to content

ToolParticlePaint

ToolParticlePaint#

(Particle Paint)

  • Category: Create
  • Default object name: particle_paint
  • Inherits from: Tool

Go to User page.

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 ""
        }
    }
}