Make the 'Decompose Rotation' node return degrees not radians; add tooltip documentation to transform nodes (#3268)
Make the 'Decompose Rotation' node return degrees not radians, and add tooltip documentation to transformation nodes
This commit is contained in:
parent
91b08f4b4f
commit
55a64064b0
|
|
@ -8,6 +8,7 @@ use core::f64;
|
||||||
use glam::{DAffine2, DVec2};
|
use glam::{DAffine2, DVec2};
|
||||||
use graphene_core_shaders::color::Color;
|
use graphene_core_shaders::color::Color;
|
||||||
|
|
||||||
|
/// Applies the specified transform to the input value, which may be a graphic type or another transform.
|
||||||
#[node_macro::node(category(""))]
|
#[node_macro::node(category(""))]
|
||||||
async fn transform<T: ApplyTransform + 'n + 'static>(
|
async fn transform<T: ApplyTransform + 'n + 'static>(
|
||||||
ctx: impl Ctx + CloneVarArgs + ExtractAll + ModifyFootprint,
|
ctx: impl Ctx + CloneVarArgs + ExtractAll + ModifyFootprint,
|
||||||
|
|
@ -46,6 +47,7 @@ async fn transform<T: ApplyTransform + 'n + 'static>(
|
||||||
transform_target
|
transform_target
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Overwrites the transform of each element in the input table with the specified transform.
|
||||||
#[node_macro::node(category(""))]
|
#[node_macro::node(category(""))]
|
||||||
fn replace_transform<Data, TransformInput: Transform>(
|
fn replace_transform<Data, TransformInput: Transform>(
|
||||||
_: impl Ctx + InjectFootprint,
|
_: impl Ctx + InjectFootprint,
|
||||||
|
|
@ -58,6 +60,8 @@ fn replace_transform<Data, TransformInput: Transform>(
|
||||||
data
|
data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Figure out how this node should behave once #2982 is implemented.
|
||||||
|
/// Obtains the transform of the first element in the input table, if present.
|
||||||
#[node_macro::node(category("Math: Transform"), path(graphene_core::vector))]
|
#[node_macro::node(category("Math: Transform"), path(graphene_core::vector))]
|
||||||
async fn extract_transform<T>(
|
async fn extract_transform<T>(
|
||||||
_: impl Ctx,
|
_: impl Ctx,
|
||||||
|
|
@ -74,21 +78,25 @@ async fn extract_transform<T>(
|
||||||
vector.iter().next().map(|row| *row.transform).unwrap_or_default()
|
vector.iter().next().map(|row| *row.transform).unwrap_or_default()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Produces the inverse of the input transform, which is the transform that undoes the effect of the original transform.
|
||||||
#[node_macro::node(category("Math: Transform"))]
|
#[node_macro::node(category("Math: Transform"))]
|
||||||
fn invert_transform(_: impl Ctx, transform: DAffine2) -> DAffine2 {
|
fn invert_transform(_: impl Ctx, transform: DAffine2) -> DAffine2 {
|
||||||
transform.inverse()
|
transform.inverse()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Extracts the translation component from the input transform.
|
||||||
#[node_macro::node(category("Math: Transform"))]
|
#[node_macro::node(category("Math: Transform"))]
|
||||||
fn decompose_translation(_: impl Ctx, transform: DAffine2) -> DVec2 {
|
fn decompose_translation(_: impl Ctx, transform: DAffine2) -> DVec2 {
|
||||||
transform.translation
|
transform.translation
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Extracts the rotation component (in degrees) from the input transform. This, together with the "Decompose Scale" node, also may jointly represent any shear component in the original transform.
|
||||||
#[node_macro::node(category("Math: Transform"))]
|
#[node_macro::node(category("Math: Transform"))]
|
||||||
fn decompose_rotation(_: impl Ctx, transform: DAffine2) -> f64 {
|
fn decompose_rotation(_: impl Ctx, transform: DAffine2) -> f64 {
|
||||||
transform.decompose_rotation()
|
transform.decompose_rotation().to_degrees()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Extracts the scale component from the input transform. This, together with the "Decompose Rotation" node, also may jointly represent any shear component in the original transform.
|
||||||
#[node_macro::node(category("Math: Transform"))]
|
#[node_macro::node(category("Math: Transform"))]
|
||||||
fn decompose_scale(_: impl Ctx, transform: DAffine2) -> DVec2 {
|
fn decompose_scale(_: impl Ctx, transform: DAffine2) -> DVec2 {
|
||||||
transform.decompose_scale()
|
transform.decompose_scale()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue