Skip to content

Commit 033d425

Browse files
committed
add position setter/getter
1 parent 9c746a8 commit 033d425

3 files changed

Lines changed: 16 additions & 0 deletions

File tree

include/polyscope/transformation_gizmo.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ class TransformationGizmo : public Widget {
4343
glm::mat4 getTransform();
4444
void setTransform(glm::mat4 newT);
4545

46+
// the are helpers which access/update only the position component of the transform
47+
glm::vec3 getPosition();
48+
void setPosition(glm::vec3 newPos);
49+
4650
bool getEnabled();
4751
void setEnabled(bool newVal);
4852

src/transformation_gizmo.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,12 @@ void TransformationGizmo::setTransform(glm::mat4 newT) {
170170
markUpdated();
171171
};
172172

173+
glm::vec3 TransformationGizmo::getPosition() { return glm::vec3(Tref[3]); }
174+
void TransformationGizmo::setPosition(glm::vec3 newPos) {
175+
Tref[3] = glm::vec4(newPos, 1.0);
176+
markUpdated();
177+
}
178+
173179
bool TransformationGizmo::getEnabled() { return enabled.get(); }
174180
void TransformationGizmo::setEnabled(bool newVal) { enabled = newVal; }
175181

test/src/misc_test.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,12 @@ TEST_F(PolyscopeTest, TransformationGizmoStandaloneTest) {
116116
polyscope::TransformationGizmo* gizmo5 = polyscope::addTransformationGizmo("my_gizmo_3", &externalT);
117117
EXPECT_EQ(gizmo5->getTransform(), externalT);
118118

119+
glm::mat4 T = gizmo5->getTransform();
120+
glm::vec3 pos = gizmo5->getPosition();
121+
pos.z += 4.0;
122+
gizmo5->setPosition(pos);
123+
polyscope::show(3);
124+
119125
polyscope::removeAllTransformationGizmos();
120126
}
121127

0 commit comments

Comments
 (0)