More sit work

This commit is contained in:
Atlante45 2017-02-10 16:58:54 -08:00
parent cc5967e8f9
commit 6821c8621f
4 changed files with 32 additions and 0 deletions

View file

@ -2475,6 +2475,14 @@ glm::vec3 MyAvatar::getAbsoluteJointTranslationInObjectFrame(int index) const {
}
}
void MyAvatar::pintJointInWorldSpace(int index, const glm::vec3& position, const glm::quat& orientation) {
}
void MyAvatar::clearPinOnJoint(int index) {
}
// thread-safe
void MyAvatar::addHoldAction(AvatarActionHold* holdAction) {
std::lock_guard<std::mutex> guard(_holdActionsMutex);

View file

@ -216,6 +216,9 @@ public:
virtual void clearJointData(int index) override;
virtual void clearJointsData() override;
Q_INVOKABLE void pintJointInWorldSpace(int index, const glm::vec3& position, const glm::quat& orientation);
Q_INVOKABLE void clearPinOnJoint(int index);
Q_INVOKABLE void useFullAvatarURL(const QUrl& fullAvatarURL, const QString& modelName = QString());
Q_INVOKABLE QUrl getFullAvatarURLFromPreferences() const { return _fullAvatarURLFromPreferences; }
Q_INVOKABLE QString getFullAvatarModelName() const { return _fullAvatarModelName; }

View file

@ -319,6 +319,24 @@ void Rig::clearIKJointLimitHistory() {
}
}
void Rig::setMaxHipsOffsetLength(float maxLength) {
_maxHipsOffsetLength = maxLength;
if (_animNode) {
_animNode->traverse([&](AnimNode::Pointer node) {
auto ikNode = std::dynamic_pointer_cast<AnimInverseKinematics>(node);
if (ikNode) {
ikNode->setMaxHipsOffsetLength(_maxHipsOffsetLength);
}
return true;
});
}
}
float Rig::getMaxHipsOffsetLength() const {
return _maxHipsOffsetLength;
}
int Rig::getJointParentIndex(int childIndex) const {
if (_animSkeleton && isIndexValid(childIndex)) {
return _animSkeleton->getParentIndex(childIndex);

View file

@ -104,6 +104,8 @@ public:
void clearJointAnimationPriority(int index);
void clearIKJointLimitHistory();
void setMaxHipsOffsetLength(float maxLength);
float getMaxHipsOffsetLength() const;
int getJointParentIndex(int childIndex) const;
@ -318,6 +320,7 @@ protected:
bool _enabledAnimations { true };
mutable uint32_t _jointNameWarningCount { 0 };
float _maxHipsOffsetLength { 1.0f };
private:
QMap<int, StateHandler> _stateHandlers;