载入中...
搜索中...
未找到
eve::editor::TransformGizmo类 参考

3D transform gizmo (Three.js TransformControls + ImGuizmo style). Owns TRS + optional local bounds; interaction via world-space rays. Host renders using getPart* descriptors — no GPU dependency. 更多...

#include <TransformGizmo.h>

Public 成员函数

 TransformGizmo ()
 
void setMode (const std::string &mode)
 
std::string getMode () const
 
void setSpace (const std::string &space)
 
std::string getSpace () const
 
void setSize (float size)
 
float getSize () const
 
void setPosition (float x, float y, float z)
 
float getPositionX () const
 
float getPositionY () const
 
float getPositionZ () const
 
void setRotationEuler (float x, float y, float z)
 Euler radians, XYZ order.
 
float getRotationX () const
 
float getRotationY () const
 
float getRotationZ () const
 
void setScale (float x, float y, float z)
 
float getScaleX () const
 
float getScaleY () const
 
float getScaleZ () const
 
void setBounds (float minX, float minY, float minZ, float maxX, float maxY, float maxZ)
 Local AABB extents for bound mode (relative to object origin).
 
float getBoundsMinX () const
 
float getBoundsMinY () const
 
float getBoundsMinZ () const
 
float getBoundsMaxX () const
 
float getBoundsMaxY () const
 
float getBoundsMaxZ () const
 
void setSnapTranslate (float x, float y, float z)
 
void setSnapRotate (float degrees)
 
void setSnapScale (float s)
 
float getSnapTranslateX () const
 
float getSnapTranslateY () const
 
float getSnapTranslateZ () const
 
float getSnapRotate () const
 
float getSnapScale () const
 
float getMatrix (int index) const
 Column-major matrix element 0..15 of current TRS.
 
std::string pick (float ox, float oy, float oz, float dx, float dy, float dz)
 Ray pick against active mode handles. Returns axis id: "x"|"y"|"z"|"xy"|"yz"|"xz"|"xyz"|"bx"|…|"bz"|"" .
 
bool beginDrag (const std::string &axis, float ox, float oy, float oz, float dx, float dy, float dz)
 
bool updateDrag (float ox, float oy, float oz, float dx, float dy, float dz)
 
void endDrag ()
 
bool isDragging () const
 
bool isHovered () const
 
std::string getActiveAxis () const
 
std::string getHoverAxis () const
 
void rebuildParts ()
 Rebuild draw parts for current mode/space (call after TRS/mode change).
 
int getPartCount () const
 
std::string getPartKind (int index) const
 
std::string getPartAxis (int index) const
 
float getPartColorR (int index) const
 
float getPartColorG (int index) const
 
float getPartColorB (int index) const
 
float getPartColorA (int index) const
 
float getPartOriginX (int index) const
 
float getPartOriginY (int index) const
 
float getPartOriginZ (int index) const
 
float getPartDirX (int index) const
 
float getPartDirY (int index) const
 
float getPartDirZ (int index) const
 
float getPartLength (int index) const
 
float getPartRadius (int index) const
 

详细描述

3D transform gizmo (Three.js TransformControls + ImGuizmo style). Owns TRS + optional local bounds; interaction via world-space rays. Host renders using getPart* descriptors — no GPU dependency.

在文件 TransformGizmo.h16 行定义.

构造及析构函数说明

◆ TransformGizmo()

eve::editor::TransformGizmo::TransformGizmo ( )

在文件 TransformGizmo.cpp33 行定义.

引用了 rebuildParts().

成员函数说明

◆ beginDrag()

bool eve::editor::TransformGizmo::beginDrag ( const std::string &  axis,
float  ox,
float  oy,
float  oz,
float  dx,
float  dy,
float  dz 
)

在文件 TransformGizmo.cpp431 行定义.

引用了 rebuildParts().

被这些函数引用 eve::editor::GizmoManager::beginDrag().

◆ endDrag()

void eve::editor::TransformGizmo::endDrag ( )

在文件 TransformGizmo.cpp571 行定义.

引用了 rebuildParts().

被这些函数引用 eve::editor::GizmoManager::detach() , 以及 eve::editor::GizmoManager::endDrag().

◆ getActiveAxis()

std::string eve::editor::TransformGizmo::getActiveAxis ( ) const
inline

在文件 TransformGizmo.h79 行定义.

◆ getBoundsMaxX()

float eve::editor::TransformGizmo::getBoundsMaxX ( ) const
inline

在文件 TransformGizmo.h50 行定义.

◆ getBoundsMaxY()

float eve::editor::TransformGizmo::getBoundsMaxY ( ) const
inline

在文件 TransformGizmo.h51 行定义.

◆ getBoundsMaxZ()

float eve::editor::TransformGizmo::getBoundsMaxZ ( ) const
inline

在文件 TransformGizmo.h52 行定义.

◆ getBoundsMinX()

float eve::editor::TransformGizmo::getBoundsMinX ( ) const
inline

在文件 TransformGizmo.h47 行定义.

◆ getBoundsMinY()

float eve::editor::TransformGizmo::getBoundsMinY ( ) const
inline

在文件 TransformGizmo.h48 行定义.

◆ getBoundsMinZ()

float eve::editor::TransformGizmo::getBoundsMinZ ( ) const
inline

在文件 TransformGizmo.h49 行定义.

◆ getHoverAxis()

std::string eve::editor::TransformGizmo::getHoverAxis ( ) const
inline

在文件 TransformGizmo.h80 行定义.

◆ getMatrix()

float eve::editor::TransformGizmo::getMatrix ( int  index) const

Column-major matrix element 0..15 of current TRS.

在文件 TransformGizmo.cpp85 行定义.

引用了 m , 以及 p.

◆ getMode()

std::string eve::editor::TransformGizmo::getMode ( ) const
inline

在文件 TransformGizmo.h21 行定义.

◆ getPartAxis()

std::string eve::editor::TransformGizmo::getPartAxis ( int  index) const

在文件 TransformGizmo.cpp585 行定义.

◆ getPartColorA()

float eve::editor::TransformGizmo::getPartColorA ( int  index) const

在文件 TransformGizmo.cpp601 行定义.

◆ getPartColorB()

float eve::editor::TransformGizmo::getPartColorB ( int  index) const

在文件 TransformGizmo.cpp597 行定义.

◆ getPartColorG()

float eve::editor::TransformGizmo::getPartColorG ( int  index) const

在文件 TransformGizmo.cpp593 行定义.

◆ getPartColorR()

float eve::editor::TransformGizmo::getPartColorR ( int  index) const

在文件 TransformGizmo.cpp589 行定义.

◆ getPartCount()

int eve::editor::TransformGizmo::getPartCount ( ) const
inline

在文件 TransformGizmo.h85 行定义.

◆ getPartDirX()

float eve::editor::TransformGizmo::getPartDirX ( int  index) const

在文件 TransformGizmo.cpp617 行定义.

◆ getPartDirY()

float eve::editor::TransformGizmo::getPartDirY ( int  index) const

在文件 TransformGizmo.cpp621 行定义.

◆ getPartDirZ()

float eve::editor::TransformGizmo::getPartDirZ ( int  index) const

在文件 TransformGizmo.cpp625 行定义.

◆ getPartKind()

std::string eve::editor::TransformGizmo::getPartKind ( int  index) const

在文件 TransformGizmo.cpp581 行定义.

◆ getPartLength()

float eve::editor::TransformGizmo::getPartLength ( int  index) const

在文件 TransformGizmo.cpp629 行定义.

◆ getPartOriginX()

float eve::editor::TransformGizmo::getPartOriginX ( int  index) const

在文件 TransformGizmo.cpp605 行定义.

◆ getPartOriginY()

float eve::editor::TransformGizmo::getPartOriginY ( int  index) const

在文件 TransformGizmo.cpp609 行定义.

◆ getPartOriginZ()

float eve::editor::TransformGizmo::getPartOriginZ ( int  index) const

在文件 TransformGizmo.cpp613 行定义.

◆ getPartRadius()

float eve::editor::TransformGizmo::getPartRadius ( int  index) const

在文件 TransformGizmo.cpp633 行定义.

◆ getPositionX()

float eve::editor::TransformGizmo::getPositionX ( ) const
inline

在文件 TransformGizmo.h30 行定义.

◆ getPositionY()

float eve::editor::TransformGizmo::getPositionY ( ) const
inline

在文件 TransformGizmo.h31 行定义.

◆ getPositionZ()

float eve::editor::TransformGizmo::getPositionZ ( ) const
inline

在文件 TransformGizmo.h32 行定义.

◆ getRotationX()

float eve::editor::TransformGizmo::getRotationX ( ) const
inline

在文件 TransformGizmo.h36 行定义.

◆ getRotationY()

float eve::editor::TransformGizmo::getRotationY ( ) const
inline

在文件 TransformGizmo.h37 行定义.

◆ getRotationZ()

float eve::editor::TransformGizmo::getRotationZ ( ) const
inline

在文件 TransformGizmo.h38 行定义.

◆ getScaleX()

float eve::editor::TransformGizmo::getScaleX ( ) const
inline

在文件 TransformGizmo.h41 行定义.

◆ getScaleY()

float eve::editor::TransformGizmo::getScaleY ( ) const
inline

在文件 TransformGizmo.h42 行定义.

◆ getScaleZ()

float eve::editor::TransformGizmo::getScaleZ ( ) const
inline

在文件 TransformGizmo.h43 行定义.

◆ getSize()

float eve::editor::TransformGizmo::getSize ( ) const
inline

在文件 TransformGizmo.h27 行定义.

◆ getSnapRotate()

float eve::editor::TransformGizmo::getSnapRotate ( ) const
inline

在文件 TransformGizmo.h60 行定义.

◆ getSnapScale()

float eve::editor::TransformGizmo::getSnapScale ( ) const
inline

在文件 TransformGizmo.h61 行定义.

◆ getSnapTranslateX()

float eve::editor::TransformGizmo::getSnapTranslateX ( ) const
inline

在文件 TransformGizmo.h57 行定义.

◆ getSnapTranslateY()

float eve::editor::TransformGizmo::getSnapTranslateY ( ) const
inline

在文件 TransformGizmo.h58 行定义.

◆ getSnapTranslateZ()

float eve::editor::TransformGizmo::getSnapTranslateZ ( ) const
inline

在文件 TransformGizmo.h59 行定义.

◆ getSpace()

std::string eve::editor::TransformGizmo::getSpace ( ) const
inline

在文件 TransformGizmo.h24 行定义.

◆ isDragging()

bool eve::editor::TransformGizmo::isDragging ( ) const
inline

在文件 TransformGizmo.h77 行定义.

被这些函数引用 eve::editor::GizmoManager::isDragging().

◆ isHovered()

bool eve::editor::TransformGizmo::isHovered ( ) const
inline

在文件 TransformGizmo.h78 行定义.

被这些函数引用 eve::editor::GizmoManager::isHovered().

◆ pick()

std::string eve::editor::TransformGizmo::pick ( float  ox,
float  oy,
float  oz,
float  dx,
float  dy,
float  dz 
)

Ray pick against active mode handles. Returns axis id: "x"|"y"|"z"|"xy"|"yz"|"xz"|"xyz"|"bx"|…|"bz"|"" .

在文件 TransformGizmo.cpp335 行定义.

引用了 b, c, rebuildParts() , 以及 s.

被这些函数引用 eve::editor::GizmoManager::pick().

◆ rebuildParts()

void eve::editor::TransformGizmo::rebuildParts ( )

Rebuild draw parts for current mode/space (call after TRS/mode change).

在文件 TransformGizmo.cpp137 行定义.

引用了 c, kind, p , 以及 u.

被这些函数引用 beginDrag(), endDrag(), pick(), setBounds(), setMode(), setPosition(), setRotationEuler(), setScale(), setSize(), setSpace(), TransformGizmo() , 以及 updateDrag().

◆ setBounds()

void eve::editor::TransformGizmo::setBounds ( float  minX,
float  minY,
float  minZ,
float  maxX,
float  maxY,
float  maxZ 
)

Local AABB extents for bound mode (relative to object origin).

在文件 TransformGizmo.cpp72 行定义.

引用了 rebuildParts().

◆ setMode()

void eve::editor::TransformGizmo::setMode ( const std::string &  mode)

在文件 TransformGizmo.cpp35 行定义.

引用了 rebuildParts().

被这些函数引用 eve::editor::GizmoManager::GizmoManager() , 以及 eve::editor::GizmoManager::pick().

◆ setPosition()

void eve::editor::TransformGizmo::setPosition ( float  x,
float  y,
float  z 
)

在文件 TransformGizmo.cpp57 行定义.

引用了 rebuildParts(), x, y , 以及 z.

◆ setRotationEuler()

void eve::editor::TransformGizmo::setRotationEuler ( float  x,
float  y,
float  z 
)

Euler radians, XYZ order.

在文件 TransformGizmo.cpp62 行定义.

引用了 rebuildParts(), x, y , 以及 z.

◆ setScale()

void eve::editor::TransformGizmo::setScale ( float  x,
float  y,
float  z 
)

在文件 TransformGizmo.cpp67 行定义.

引用了 rebuildParts(), x, y , 以及 z.

◆ setSize()

void eve::editor::TransformGizmo::setSize ( float  size)

在文件 TransformGizmo.cpp51 行定义.

引用了 rebuildParts().

◆ setSnapRotate()

void eve::editor::TransformGizmo::setSnapRotate ( float  degrees)

在文件 TransformGizmo.cpp81 行定义.

引用了 degrees.

◆ setSnapScale()

void eve::editor::TransformGizmo::setSnapScale ( float  s)

在文件 TransformGizmo.cpp83 行定义.

引用了 s.

◆ setSnapTranslate()

void eve::editor::TransformGizmo::setSnapTranslate ( float  x,
float  y,
float  z 
)

在文件 TransformGizmo.cpp79 行定义.

引用了 x, y , 以及 z.

◆ setSpace()

void eve::editor::TransformGizmo::setSpace ( const std::string &  space)

在文件 TransformGizmo.cpp43 行定义.

引用了 rebuildParts().

◆ updateDrag()

bool eve::editor::TransformGizmo::updateDrag ( float  ox,
float  oy,
float  oz,
float  dx,
float  dy,
float  dz 
)

在文件 TransformGizmo.cpp488 行定义.

引用了 c, rebuildParts() , 以及 s.

被这些函数引用 eve::editor::GizmoManager::updateDrag().


该类的文档由以下文件生成: