![]() |
ProtoTracer
1.0
Real-time 3D rendering and animation engine
|
Handles aligning and transforming 3D objects to fit within specified 2D camera bounds. More...
#include <ObjectAlign.h>
Public Types | |
enum | Justification { UpperLeft , UpperMiddle , UpperRight , MiddleLeft , Middle , MiddleRight , LowerLeft , LowerMiddle , LowerRight , Stretch } |
Describes how the object(s) should be justified within the bounding box. More... | |
Public Member Functions | |
ObjectAlign (Vector2D camMin, Vector2D camMax, Quaternion targetOrientation=Quaternion()) | |
Constructor for ObjectAlign, setting up the camera bounds and orientation. | |
Vector3D | GetCentroid (Object3D *obj) |
Computes the centroid of the given object's geometry. | |
Vector3D | GetCentroid (Object3D **objs, uint8_t numObjects) |
Computes the collective centroid of multiple objects. | |
Vector3D | GetObjectCenter (Object3D *obj) |
Computes the "center" of a single object. Generally the same as centroid, but could be defined differently if an object's pivot or bounding logic is distinct. | |
Vector3D | GetObjectCenter (Object3D **objs, uint8_t numObjects) |
Computes the collective center for multiple objects. | |
Vector3D | GetObjectSize (Object3D *obj) |
Retrieves the bounding box size (width, height, depth) of a single object. | |
Vector3D | GetObjectSize (Object3D **objs, uint8_t numObjects) |
Computes the combined bounding box size for multiple objects. | |
Quaternion | GetPlaneNormal (Object3D *obj) |
Determines the plane normal (as a Quaternion) of the object based on its geometry. | |
Quaternion | GetPlaneNormal (Object3D **objs, uint8_t numObjects) |
Determines the average plane normal (as a Quaternion) for multiple objects. | |
Quaternion | GetPlaneOrientation (Object3D *obj, Vector3D centroid) |
Calculates the orientation needed to make the object's plane face the camera or align with a given centroid. | |
Quaternion | GetPlaneOrientation (Object3D **objs, uint8_t numObjects, Vector3D centroid) |
Calculates the orientation needed for multiple objects to share a consistent plane. | |
Transform | GetTransform (Object3D *obj) |
Computes the final Transform for aligning a single Object3D within the camera bounds. | |
Transform | GetTransform (Object3D **objs, uint8_t numObjects) |
Computes the final Transform for aligning multiple objects as a group. | |
float | GetObjectPlanarityRatio (Object3D *obj) |
Computes how planar (flat) a single object is, typically as a ratio (0.0 = not planar, 1.0 = perfectly planar). | |
float | GetObjectPlanarityRatio (Object3D **objs, uint8_t numObjects) |
Computes an average planarity ratio for multiple objects. | |
void | SetPlaneOffsetAngle (float offsetPlaneAngle) |
Sets the additional rotation offset (plane offset angle), in degrees or radians, that will be applied when calculating plane orientation. | |
void | SetEdgeMargin (float edgeMargin) |
Sets the margin to keep from the edges when aligning objects. | |
void | SetForwardVector (Vector3D forwardVector) |
Sets the forward vector, i.e., which axis is considered "forward" for the alignment logic. | |
void | SetCameraMin (Vector2D camMin) |
Updates the minimum bounds for the 2D camera region. | |
void | SetCameraMax (Vector2D camMax) |
Updates the maximum bounds for the 2D camera region. | |
void | SetMirrorX (bool mirrorX) |
Enables or disables mirroring along the X-axis for the aligned objects. | |
void | SetMirrorY (bool mirrorY) |
Enables or disables mirroring along the Y-axis for the aligned objects. | |
void | SetJustification (Justification jst) |
Sets the justification mode for alignment. | |
void | SetScale (float scaleX, float scaleY) |
Sets the scaling factors that will be applied to objects during alignment. | |
void | AlignObjectNoScale (Object3D *obj) |
Aligns a single Object3D within the camera bounds without applying the object's scaling factor. | |
void | AlignObjectsNoScale (Object3D **objs, uint8_t numObjects) |
Aligns multiple objects without applying the object's scaling factor. | |
void | AlignObject (Object3D *obj) |
Aligns a single Object3D within the camera bounds, including applying scale factors as necessary. | |
void | AlignObjects (Object3D **objs, uint8_t numObjects) |
Aligns multiple objects within the camera bounds, including scale factors. | |
Private Member Functions | |
void | NormalizeObjectPlane (Object3D **objs, uint8_t numObjects, Vector3D center, Quaternion planeOrientation) |
Normalizes the orientation of multiple objects onto a plane. | |
void | NormalizeObjectCenter (Object3D **objs, uint8_t numObjects, Vector3D center) |
Translates the center of multiple objects so that their average center matches the specified center . | |
Private Attributes | |
Justification | jst = Middle |
Current justification mode. | |
Quaternion | targetOrientation |
Target orientation for aligning the object(s). | |
Vector3D | forwardVector = Vector3D(0.0f, 0.0f, 1.0f) |
Default "forward" axis. | |
Vector2D | cameraCenter |
Computed center between camMin and camMax. | |
Vector2D | camMin |
Minimum 2D camera bounds (lower-left). | |
Vector2D | camMax |
Maximum 2D camera bounds (upper-right). | |
float | offsetPlaneAngle = 0.0f |
Additional rotation offset (plane offset angle in degrees or radians). | |
float | edgeMargin = 10.0f |
Margin from the bounding edges, in screen-space units. | |
float | scaleX = 1.0f |
Scaling factor on the X-axis. | |
float | scaleY = 1.0f |
Scaling factor on the Y-axis. | |
bool | mirrorX = false |
Whether to mirror objects along the X-axis. | |
bool | mirrorY = false |
Whether to mirror objects along the Y-axis. | |
Handles aligning and transforming 3D objects to fit within specified 2D camera bounds.
This class is primarily concerned with projecting objects into a plane, scaling them to fit within camera bounds, and applying transformations (orientation, mirroring, edge offsets, etc.).
Definition at line 24 of file ObjectAlign.h.
Describes how the object(s) should be justified within the bounding box.
For instance, LowerLeft places the object in the lower-left corner (with potential offsets), while Stretch attempts to fit or stretch objects to fill the entire area.
Definition at line 33 of file ObjectAlign.h.
ObjectAlign | ( | Vector2D | camMin, |
Vector2D | camMax, | ||
Quaternion | targetOrientation = Quaternion() |
||
) |
Constructor for ObjectAlign, setting up the camera bounds and orientation.
camMin | The lower-left corner of the 2D camera region. |
camMax | The upper-right corner of the 2D camera region. |
targetOrientation | Optional desired orientation for aligned objects. |
Definition at line 245 of file ObjectAlign.cpp.
References cameraCenter, camMax, camMin, and targetOrientation.
Aligns a single Object3D within the camera bounds, including applying scale factors as necessary.
obj | Pointer to the Object3D to align. |
Definition at line 396 of file ObjectAlign.cpp.
References AlignObjects().
Referenced by ProtogenProject::AlignObject(), ProtogenProject::AlignObjectFace(), and ProtogenProject::AlignObjectRear().
Aligns a single Object3D within the camera bounds without applying the object's scaling factor.
Only transforms the object to fit in the plane (translation + orientation); no scaling from the object itself.
obj | Pointer to the Object3D to align. |
Definition at line 370 of file ObjectAlign.cpp.
References AlignObjectsNoScale().
Referenced by ProtogenProject::AlignObjectNoScale(), ProtogenProject::AlignObjectNoScaleFace(), ProtogenProject::AlignObjectNoScaleRear(), and TamamoAnimation::Update().
Aligns multiple objects within the camera bounds, including scale factors.
objs | Array of pointers to Object3D. |
numObjects | Number of objects in objs . |
Definition at line 403 of file ObjectAlign.cpp.
References cameraCenter, camMax, camMin, edgeMargin, forwardVector, GetCentroid(), GetObjectCenter(), GetObjectSize(), GetPlaneOrientation(), Object3D::GetTriangleGroup(), ITriangleGroup::GetVertexCount(), ITriangleGroup::GetVertices(), jst, LowerLeft, LowerMiddle, LowerRight, MiddleLeft, MiddleRight, Mathematics::Min(), mirrorX, mirrorY, NormalizeObjectCenter(), NormalizeObjectPlane(), Quaternion::RotateVector(), scaleX, scaleY, Stretch, targetOrientation, UpperLeft, UpperMiddle, UpperRight, Vector2D::X, Vector3D::X, Vector2D::Y, and Vector3D::Y.
Referenced by AlignObject(), ProtogenProject::AlignObjects(), ProtogenProject::AlignObjectsFace(), ProtogenProject::AlignObjectsRear(), AphoriAnimation::Update(), BasilGardenAnimation::Update(), BroookAnimation::Update(), GalaxyAnimation::Update(), SammyAnimation::Update(), SergaliciousAnimation::Update(), StrawberryAnimation::Update(), TamamoAnimation::Update(), Warzone2Animation::Update(), XenraxAnimation::Update(), HUB75AnimationSplit::Update(), and WS35AnimationSplit::Update().
Aligns multiple objects without applying the object's scaling factor.
objs | Array of pointers to Object3D. |
numObjects | Number of objects in objs . |
Definition at line 377 of file ObjectAlign.cpp.
References cameraCenter, forwardVector, GetCentroid(), GetObjectCenter(), GetPlaneNormal(), Object3D::GetTriangleGroup(), ITriangleGroup::GetVertices(), mirrorX, mirrorY, NormalizeObjectCenter(), NormalizeObjectPlane(), Quaternion::RotateVector(), targetOrientation, Vector2D::X, and Vector2D::Y.
Referenced by AlignObjectNoScale(), ProtogenProject::AlignObjectsNoScale(), ProtogenProject::AlignObjectsNoScaleFace(), and ProtogenProject::AlignObjectsNoScaleRear().
Computes the collective centroid of multiple objects.
objs | Array of pointers to Object3D objects. |
numObjects | Number of objects in objs . |
Definition at line 14 of file ObjectAlign.cpp.
References Object3D::GetTriangleGroup(), and ITriangleGroup::GetVertices().
Computes the centroid of the given object's geometry.
obj | Pointer to the Object3D. |
Definition at line 3 of file ObjectAlign.cpp.
References GetCentroid().
Referenced by AlignObjects(), AlignObjectsNoScale(), GetCentroid(), GetObjectPlanarityRatio(), and GetTransform().
Computes the collective center for multiple objects.
objs | Array of pointers to Object3D. |
numObjects | Number of objects in objs . |
Definition at line 41 of file ObjectAlign.cpp.
References Object3D::GetTriangleGroup(), ITriangleGroup::GetVertices(), Vector3D::Max(), and Vector3D::Min().
Computes the "center" of a single object. Generally the same as centroid, but could be defined differently if an object's pivot or bounding logic is distinct.
obj | Pointer to the Object3D. |
Definition at line 30 of file ObjectAlign.cpp.
References GetObjectCenter().
Referenced by AlignObjects(), AlignObjectsNoScale(), GetObjectCenter(), and GetTransform().
Computes an average planarity ratio for multiple objects.
objs | Array of pointers to Object3D. |
numObjects | Number of objects in objs . |
Definition at line 121 of file ObjectAlign.cpp.
References Vector3D::Absolute(), GetCentroid(), GetPlaneOrientation(), Object3D::GetTriangleGroup(), ITriangleGroup::GetVertexCount(), ITriangleGroup::GetVertices(), Mathematics::Min(), Quaternion::RotateVector(), Vector3D::X, Vector3D::Y, and Vector3D::Z.
Computes how planar (flat) a single object is, typically as a ratio (0.0 = not planar, 1.0 = perfectly planar).
obj | Pointer to the Object3D. |
Definition at line 109 of file ObjectAlign.cpp.
References GetObjectPlanarityRatio().
Referenced by GetObjectPlanarityRatio().
Computes the combined bounding box size for multiple objects.
objs | Array of pointers to Object3D. |
numObjects | Number of objects in objs . |
Definition at line 67 of file ObjectAlign.cpp.
References Object3D::GetTriangleGroup(), ITriangleGroup::GetVertices(), Vector3D::Max(), and Vector3D::Min().
Retrieves the bounding box size (width, height, depth) of a single object.
obj | Pointer to the Object3D. |
Definition at line 56 of file ObjectAlign.cpp.
References GetObjectSize().
Referenced by AlignObjects(), GetObjectSize(), and GetTransform().
Quaternion GetPlaneNormal | ( | Object3D ** | objs, |
uint8_t | numObjects | ||
) |
Determines the average plane normal (as a Quaternion) for multiple objects.
objs | Array of pointers to Object3D. |
numObjects | Number of objects in objs . |
Definition at line 158 of file ObjectAlign.cpp.
References Vector3D::Absolute(), EulerConstants::EulerOrderXYZS, Rotation::GetQuaternion(), Object3D::GetTriangleGroup(), ITriangleGroup::GetTriangles(), Triangle3D::Normal(), offsetPlaneAngle, and Vector3D::UnitSphere().
Quaternion GetPlaneNormal | ( | Object3D * | obj | ) |
Determines the plane normal (as a Quaternion) of the object based on its geometry.
This might be computed from the surface normal if the object is considered planar, or from an average of normals if the object is more complex.
obj | Pointer to the Object3D. |
Definition at line 147 of file ObjectAlign.cpp.
References GetPlaneNormal().
Referenced by AlignObjectsNoScale(), and GetPlaneNormal().
Quaternion GetPlaneOrientation | ( | Object3D ** | objs, |
uint8_t | numObjects, | ||
Vector3D | centroid | ||
) |
Calculates the orientation needed for multiple objects to share a consistent plane.
objs | Array of pointers to Object3D. |
numObjects | Number of objects in objs . |
centroid | The computed centroid of all objects. |
Definition at line 191 of file ObjectAlign.cpp.
References EulerConstants::EulerOrderXYZS, Rotation::GetQuaternion(), Object3D::GetTriangleGroup(), ITriangleGroup::GetVertices(), Mathematics::IsClose(), Mathematics::Max(), offsetPlaneAngle, Vector3D::UnitSphere(), Vector3D::X, Vector3D::Y, and Vector3D::Z.
Quaternion GetPlaneOrientation | ( | Object3D * | obj, |
Vector3D | centroid | ||
) |
Calculates the orientation needed to make the object's plane face the camera or align with a given centroid.
obj | Pointer to the Object3D. |
centroid | The computed centroid of the object. |
Definition at line 180 of file ObjectAlign.cpp.
References GetPlaneOrientation().
Referenced by AlignObjects(), GetObjectPlanarityRatio(), GetPlaneOrientation(), and GetTransform().
Computes the final Transform for aligning multiple objects as a group.
objs | Array of pointers to Object3D. |
numObjects | Number of objects in objs . |
Definition at line 301 of file ObjectAlign.cpp.
References cameraCenter, camMax, camMin, Quaternion::Conjugate(), edgeMargin, forwardVector, GetCentroid(), GetObjectCenter(), GetObjectSize(), GetPlaneOrientation(), jst, LowerLeft, LowerMiddle, LowerRight, MiddleLeft, MiddleRight, Mathematics::Min(), mirrorX, mirrorY, Quaternion::Multiply(), Quaternion::RotateVector(), scaleX, scaleY, Transform::SetPosition(), Transform::SetRotation(), Transform::SetRotationOffset(), Transform::SetScale(), Stretch, targetOrientation, UpperLeft, UpperMiddle, UpperRight, Vector2D::X, Vector3D::X, Vector2D::Y, and Vector3D::Y.
Computes the final Transform for aligning a single Object3D within the camera bounds.
The Transform includes translation, rotation, and scaling as determined by the justification, margins, and plane offset angle.
obj | Pointer to the Object3D to align. |
Definition at line 292 of file ObjectAlign.cpp.
References GetTransform().
Referenced by ProtogenProject::GetAlignmentTransform(), ProtogenProject::GetAlignmentTransform(), and GetTransform().
Translates the center of multiple objects so that their average center matches the specified center
.
objs | Array of pointers to Object3D instances. |
numObjects | Number of objects in objs . |
center | The target center position in 3D space. |
Definition at line 97 of file ObjectAlign.cpp.
References Object3D::GetTriangleGroup(), and ITriangleGroup::GetVertices().
Referenced by AlignObjects(), and AlignObjectsNoScale().
|
private |
Normalizes the orientation of multiple objects onto a plane.
This function modifies the input objects so that they are oriented parallel to a plane defined by planeOrientation
, also adjusting their centers to the specified center
.
objs | Array of pointers to Object3D instances. |
numObjects | Number of objects in objs . |
center | Desired alignment center in 3D space. |
planeOrientation | Orientation (Quaternion) defining the plane normal. |
Definition at line 84 of file ObjectAlign.cpp.
References Object3D::GetTriangleGroup(), ITriangleGroup::GetVertices(), and Quaternion::UnrotateVector().
Referenced by AlignObjects(), and AlignObjectsNoScale().
Updates the maximum bounds for the 2D camera region.
camMax | A Vector2D representing the upper-right corner. |
Definition at line 269 of file ObjectAlign.cpp.
References cameraCenter, camMax, and camMin.
Referenced by ProtogenProject::AlignObject(), ProtogenProject::AlignObjectNoScale(), ProtogenProject::AlignObjects(), ProtogenProject::AlignObjectsNoScale(), ProtogenProject::GetAlignmentTransform(), ProtogenProject::GetAlignmentTransform(), ProtogenProject::ProtogenProject(), ProtogenProject::SetCameraMain(), ProtogenProject::SetCameraRear(), AphoriAnimation::Update(), BasilGardenAnimation::Update(), BroookAnimation::Update(), GalaxyAnimation::Update(), SammyAnimation::Update(), SergaliciousAnimation::Update(), StrawberryAnimation::Update(), TamamoAnimation::Update(), Warzone2Animation::Update(), XenraxAnimation::Update(), HUB75AnimationSplit::Update(), WS35AnimationSplit::Update(), and ProtogenProject::UpdateFace().
Updates the minimum bounds for the 2D camera region.
camMin | A Vector2D representing the lower-left corner. |
Definition at line 264 of file ObjectAlign.cpp.
References cameraCenter, camMax, and camMin.
Referenced by ProtogenProject::AlignObject(), ProtogenProject::AlignObjectNoScale(), ProtogenProject::AlignObjects(), ProtogenProject::AlignObjectsNoScale(), ProtogenProject::GetAlignmentTransform(), ProtogenProject::GetAlignmentTransform(), ProtogenProject::ProtogenProject(), ProtogenProject::SetCameraMain(), and ProtogenProject::SetCameraRear().
Sets the margin to keep from the edges when aligning objects.
edgeMargin | How many screen-space units to leave as margin. |
Definition at line 256 of file ObjectAlign.cpp.
References edgeMargin.
Referenced by ProtogenProject::AlignObject(), ProtogenProject::AlignObjectFace(), ProtogenProject::AlignObjectNoScale(), ProtogenProject::AlignObjectNoScaleFace(), ProtogenProject::AlignObjectNoScaleRear(), ProtogenProject::AlignObjectRear(), ProtogenProject::AlignObjects(), ProtogenProject::AlignObjectsFace(), ProtogenProject::AlignObjectsNoScale(), ProtogenProject::AlignObjectsNoScaleFace(), ProtogenProject::AlignObjectsNoScaleRear(), ProtogenProject::AlignObjectsRear(), ProtogenProject::GetAlignmentTransform(), ProtogenProject::GetAlignmentTransform(), AphoriAnimation::Update(), BasilGardenAnimation::Update(), BroookAnimation::Update(), GalaxyAnimation::Update(), SammyAnimation::Update(), SergaliciousAnimation::Update(), StrawberryAnimation::Update(), TamamoAnimation::Update(), Warzone2Animation::Update(), XenraxAnimation::Update(), HUB75AnimationSplit::Update(), and WS35AnimationSplit::Update().
Sets the forward vector, i.e., which axis is considered "forward" for the alignment logic.
forwardVector | A Vector3D defining the forward axis. |
Definition at line 260 of file ObjectAlign.cpp.
References forwardVector.
void SetJustification | ( | Justification | jst | ) |
Sets the justification mode for alignment.
jst | One of the enum values (UpperLeft, Middle, Stretch, etc.). |
Definition at line 282 of file ObjectAlign.cpp.
References jst.
Referenced by AphoriAnimation::AphoriAnimation(), BasilGardenAnimation::BasilGardenAnimation(), BroookAnimation::BroookAnimation(), GalaxyAnimation::GalaxyAnimation(), HUB75AnimationSplit::HUB75AnimationSplit(), ProtogenProject::ProtogenProject(), SammyAnimation::SammyAnimation(), SergaliciousAnimation::SergaliciousAnimation(), StrawberryAnimation::StrawberryAnimation(), TamamoAnimation::TamamoAnimation(), Warzone2Animation::Warzone2Animation(), WS35AnimationSplit::WS35AnimationSplit(), and XenraxAnimation::XenraxAnimation().
Enables or disables mirroring along the X-axis for the aligned objects.
mirrorX | True to mirror objects on X-axis, false to disable. |
Definition at line 274 of file ObjectAlign.cpp.
References mirrorX.
Referenced by ProtogenProject::AlignObject(), ProtogenProject::AlignObjectFace(), ProtogenProject::AlignObjectNoScale(), ProtogenProject::AlignObjectNoScaleFace(), ProtogenProject::AlignObjectNoScaleRear(), ProtogenProject::AlignObjectRear(), ProtogenProject::AlignObjects(), ProtogenProject::AlignObjectsFace(), ProtogenProject::AlignObjectsNoScale(), ProtogenProject::AlignObjectsNoScaleFace(), ProtogenProject::AlignObjectsNoScaleRear(), ProtogenProject::AlignObjectsRear(), AphoriAnimation::AphoriAnimation(), BasilGardenAnimation::BasilGardenAnimation(), BroookAnimation::BroookAnimation(), GalaxyAnimation::GalaxyAnimation(), HUB75AnimationSplit::HUB75AnimationSplit(), SammyAnimation::SammyAnimation(), SergaliciousAnimation::SergaliciousAnimation(), StrawberryAnimation::StrawberryAnimation(), TamamoAnimation::TamamoAnimation(), Warzone2Animation::Warzone2Animation(), WS35AnimationSplit::WS35AnimationSplit(), and XenraxAnimation::XenraxAnimation().
Enables or disables mirroring along the Y-axis for the aligned objects.
mirrorY | True to mirror objects on Y-axis, false to disable. |
Definition at line 278 of file ObjectAlign.cpp.
References mirrorY.
Referenced by BroookAnimation::BroookAnimation().
Sets the additional rotation offset (plane offset angle), in degrees or radians, that will be applied when calculating plane orientation.
offsetPlaneAngle | The rotation offset to apply. |
Definition at line 252 of file ObjectAlign.cpp.
References offsetPlaneAngle.
Referenced by ProtogenProject::AlignObject(), ProtogenProject::AlignObjectFace(), ProtogenProject::AlignObjectNoScale(), ProtogenProject::AlignObjectNoScaleFace(), ProtogenProject::AlignObjectNoScaleRear(), ProtogenProject::AlignObjectRear(), ProtogenProject::AlignObjects(), ProtogenProject::AlignObjectsFace(), ProtogenProject::AlignObjectsNoScale(), ProtogenProject::AlignObjectsNoScaleFace(), ProtogenProject::AlignObjectsNoScaleRear(), ProtogenProject::AlignObjectsRear(), ProtogenProject::GetAlignmentTransform(), ProtogenProject::GetAlignmentTransform(), AphoriAnimation::Update(), BasilGardenAnimation::Update(), BroookAnimation::Update(), SammyAnimation::Update(), TamamoAnimation::Update(), Warzone2Animation::Update(), XenraxAnimation::Update(), HUB75AnimationSplit::Update(), and WS35AnimationSplit::Update().
Sets the scaling factors that will be applied to objects during alignment.
scaleX | The multiplier for width. |
scaleY | The multiplier for height. |
Definition at line 286 of file ObjectAlign.cpp.
|
private |
Computed center between camMin and camMax.
Definition at line 50 of file ObjectAlign.h.
Referenced by AlignObjects(), AlignObjectsNoScale(), GetTransform(), ObjectAlign(), SetCameraMax(), and SetCameraMin().
|
private |
Maximum 2D camera bounds (upper-right).
Definition at line 52 of file ObjectAlign.h.
Referenced by AlignObjects(), GetTransform(), ObjectAlign(), SetCameraMax(), and SetCameraMin().
|
private |
Minimum 2D camera bounds (lower-left).
Definition at line 51 of file ObjectAlign.h.
Referenced by AlignObjects(), GetTransform(), ObjectAlign(), SetCameraMax(), and SetCameraMin().
|
private |
Margin from the bounding edges, in screen-space units.
Definition at line 54 of file ObjectAlign.h.
Referenced by AlignObjects(), GetTransform(), and SetEdgeMargin().
Default "forward" axis.
Definition at line 49 of file ObjectAlign.h.
Referenced by AlignObjects(), AlignObjectsNoScale(), GetTransform(), and SetForwardVector().
|
private |
Current justification mode.
Definition at line 47 of file ObjectAlign.h.
Referenced by AlignObjects(), GetTransform(), and SetJustification().
Whether to mirror objects along the X-axis.
Definition at line 57 of file ObjectAlign.h.
Referenced by AlignObjects(), AlignObjectsNoScale(), GetTransform(), and SetMirrorX().
Whether to mirror objects along the Y-axis.
Definition at line 58 of file ObjectAlign.h.
Referenced by AlignObjects(), AlignObjectsNoScale(), GetTransform(), and SetMirrorY().
|
private |
Additional rotation offset (plane offset angle in degrees or radians).
Definition at line 53 of file ObjectAlign.h.
Referenced by GetPlaneNormal(), GetPlaneOrientation(), and SetPlaneOffsetAngle().
|
private |
Scaling factor on the X-axis.
Definition at line 55 of file ObjectAlign.h.
Referenced by AlignObjects(), GetTransform(), and SetScale().
|
private |
Scaling factor on the Y-axis.
Definition at line 56 of file ObjectAlign.h.
Referenced by AlignObjects(), GetTransform(), and SetScale().
|
private |
Target orientation for aligning the object(s).
Definition at line 48 of file ObjectAlign.h.
Referenced by AlignObjects(), AlignObjectsNoScale(), GetTransform(), and ObjectAlign().