Exemplo n.º 1
0
void SceneObject::attachRenderData(SceneObject* self, RenderData* render_data) {
    if (render_data_) {
        detachRenderData();
    }
    SceneObject* owner_object(render_data->owner_object());
    if (owner_object) {
        owner_object->detachRenderData();
    }
    render_data_ = render_data;
    render_data->set_owner_object(self);
    dirtyBoundingVolume();
}
Exemplo n.º 2
0
void SceneObject::attachRenderData(const std::shared_ptr<SceneObject>& self,
        const std::shared_ptr<RenderData>& render_data) {
    if (render_data_) {
        detachRenderData();
    }
    std::shared_ptr<SceneObject> owner_object(render_data->owner_object());
    if (owner_object) {
        owner_object->detachRenderData();
    }
    render_data_ = render_data;
    render_data->set_owner_object(self);
}