本文整理汇总了C++中ofNode::getGlobalTransformMatrix方法的典型用法代码示例。如果您正苦于以下问题:C++ ofNode::getGlobalTransformMatrix方法的具体用法?C++ ofNode::getGlobalTransformMatrix怎么用?C++ ofNode::getGlobalTransformMatrix使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ofNode
的用法示例。
在下文中一共展示了ofNode::getGlobalTransformMatrix方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setParent
//----------------------------------------
void ofNode::setParent(ofNode& parent, bool bMaintainGlobalTransform) {
if(bMaintainGlobalTransform) {
ofMatrix4x4 postParentGlobalTransform = getGlobalTransformMatrix() * parent.getGlobalTransformMatrix().getInverse();
parent.addListener(*this);
setTransformMatrix(postParentGlobalTransform);
} else {
parent.addListener(*this);
}
this->parent = &parent;
}
示例2: setParent
//----------------------------------------
void ofNode::setParent(ofNode& parent, bool bMaintainGlobalTransform) {
if (this->parent)
{
// we need to make sure to clear before
// re-assigning parenthood.
clearParent(bMaintainGlobalTransform);
}
if(bMaintainGlobalTransform) {
auto postParentGlobalTransform = glm::inverse(parent.getGlobalTransformMatrix()) * getGlobalTransformMatrix();
parent.addListener(*this);
setTransformMatrix(postParentGlobalTransform);
} else {
parent.addListener(*this);
}
this->parent = &parent;
}
示例3: draw
void ofCairoRenderer::draw(const ofNode& node) const{
const_cast<ofCairoRenderer*>(this)->pushMatrix();
const_cast<ofCairoRenderer*>(this)->multMatrix(node.getGlobalTransformMatrix());
node.customDraw(this);
const_cast<ofCairoRenderer*>(this)->popMatrix();
}