void SceneObject::attachTransform(SceneObject* self, Transform* transform) {
    if (transform_) {
        detachTransform();
    }
    SceneObject* owner_object(transform->owner_object());
    if (owner_object) {
        owner_object->detachRenderData();
    }
    transform_ = transform;
    transform_->set_owner_object(self);
    dirtyBoundingVolume();
}
Exemple #2
0
void SceneObject::attachTransform(const std::shared_ptr<SceneObject>& self,
        const std::shared_ptr<Transform>& transform) {
    if (transform_) {
        detachTransform();
    }
    std::shared_ptr<SceneObject> owner_object(transform->owner_object());
    if (owner_object) {
        owner_object->detachRenderData();
    }
    transform_ = transform;
    transform_->set_owner_object(self);
}