point_scope
A diagnostics compound for visualizing and analyzing point geometry and per-point properties.
Outputs an array of objects representing geometry that can be output to visualize most data connected to point geometry and per-point properties.
The core function of this compound extracts any point geometry passed to the point_geo port and displays it, using diagnostic coloring, vector display of vector properties and more. The compound will work on anything with points in it, such as point clouds, particles, meshes (where the vertices are points), strands and curves (where the CVs are points), etc.
There are four parameter sections that allows the user to configure the analysis: "Point Shape", "Color", "Arrows", and "Culling". Each parameter section will be explained below:
The point_geo port accepts the actual point geometry being analyzed.
Point Shape Section
This parameter section controls the shape and size of the point display.
- The
shapeparameter controls which shape the points will be visualized as. - The
default_sizeparameter controls the size of each visualized point. - When
shapeis set to numeric, thecoloring_propertyis used as the numeric property.
See set_point_shape for more information.
Color Section
This parameter section controls how each point is colored.
The
colorparameter defines the default color of the points.The
coloring_modeparameter determines which rules are used to color the points. It is an enum with the following options:Color- This mode simply uses whatever thecolorparameter is set toColoredProperty- This mode colors the points by multiplying thecoloring_propertywith thecolorparameter. If thecoloring_propertyis a scalar, then this option becomes a uniform scaling ofcolor. Negative values are not clamped or modified. If thecoloring_propertyis a vector, per-component multiplication withcoloris performed; e.g. the x-component scales red, the y-component scales blue, and so on.ColoredPropertyInvertNeg- This mode is identical to "ColoredProperty" with the following caveats: If thecoloring_propertyis a scalar value, and it is negative, the resulting color will be the result of scaling 1-colorby the absolute value of thecoloring_property. Also note that vector-valued properties will be converted to scalars by taking their magnitude.ColoredPropertyMagnitude- This option takes the magnitude of thecoloring_propertyand uses that to scale thecolor. If thecoloring_propertyis already a scalar, then the absolute value is used.Property- This mode simply colors the points by directly mapping the contents ofcoloring_propertyto RGB. If thecoloring_propertyis not a vector, then a greyscale mapping is done.NormalVector- This mode uses the data mapped to RGB, but the vectors are normalized and remapped to a 0-1 range.Heatmap- This mode takes the magnitude of thecoloring_propertyand uses three fcurves to map the result into R, G and B.Palette- This mode is designed for integer and bool properties. It uses thecoloring_propertyto map into a fixed palette of colors.
The
coloring_propertyparameter allows control over which per-point property you want to drive the point coloring (see options above) or numeric display.The
heatmap_R- parameter drives the red component when using the "Heatmap"coloring_mode(see above)The
heatmap_G- parameter drives the green component when using the "Heatmap"coloring_mode(see above)The
heatmap_B- parameter drives the blue component when using the "Heatmap"coloring_mode(see above)
Arrows Section
This parameter section provides controls for displaying per-point properties as arrows.
- The
enable_arrowsparameter toggles the arrow display on/off - The
arrow_propertyparameter allows control over which per-point property is used to drive the arrow display. Vector properties will naturally be mapped to arrows, whereas scalar properties will be expanded into an arrow pointing in the (+X, +Y, +Z) direction, where each component of the vector is the scalar value. 2d vectors simply map to (x,y,0) arrows and for 4d vectors, the w-component is dropped. - The
normalize_arrowparameter, as its name implies, normalizes the arrow regardless of the magnitude of thearrow_propertyvalue. - The
length_scaleparameter scales the length of the arrow, and is applied post-normalization (if theNormalize Arrowparameter is checked).
Culling Section
The parameters in this section control the point culling function. You can cull away points based on scalar property values or using external geometry.
- The
cull_by_scalar_propertytoggle turns culling on/off - The
cull_propertycontrols which per-point property will be used to cull by property. Vector properties will be turned into scalars by taking their magnitude. - The
keep_min_valuedefines the lower bound of non-culled/displayed points. The value refers to the per-point value found in thecull_property. - The
keep_max_valuedefines the upper bound of non-culled/displayed points. The value refers to the per-point value found in thecull_property. - The
invert_rangeinverts the set of points being culled vs displayed - The
bounds_geoallows an external geometry mesh to define a spatial culling region. Spatial culling is complementary to the culling by property.
