Path: blob/master/thirdparty/embree/kernels/common/accelinstance.h
9905 views
// Copyright 2009-2021 Intel Corporation1// SPDX-License-Identifier: Apache-2.023#pragma once45#include "accel.h"6#include "builder.h"78namespace embree9{10class AccelInstance : public Accel11{12public:13AccelInstance (AccelData* accel, Builder* builder, Intersectors& intersectors)14: Accel(AccelData::TY_ACCEL_INSTANCE,intersectors), accel(accel), builder(builder) {}1516void immutable () {17builder.reset(nullptr);18}1920public:21void build () {22if (builder) builder->build();23bounds = accel->bounds;24}2526void deleteGeometry(size_t geomID) {27if (accel ) accel->deleteGeometry(geomID);28if (builder) builder->deleteGeometry(geomID);29}3031void clear() {32if (accel) accel->clear();33if (builder) builder->clear();34}3536private:37std::unique_ptr<AccelData> accel;38std::unique_ptr<Builder> builder;39};40}414243