Blender V5.0
usd_reader_domelight.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2025 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4#pragma once
5
6#include "usd.hh"
7#include "usd_reader_prim.hh"
8
9#include <pxr/usd/usdLux/domeLight.h>
10#include <pxr/usd/usdLux/domeLight_1.h>
11
12struct Main;
13struct Scene;
14
15namespace blender::io::usd {
16
18
19 public:
20 USDDomeLightReader(const pxr::UsdPrim &prim,
21 const USDImportParams &import_params,
22 const ImportSettings &settings)
23 : USDPrimReader(prim, import_params, settings)
24 {
25 }
26
27 bool valid() const override
28 {
29 return prim_.IsA<pxr::UsdLuxDomeLight>() || prim_.IsA<pxr::UsdLuxDomeLight_1>();
30 }
31
32 /* Until Blender supports DomeLight objects natively, use a separate create_object overload that
33 * allows the caller to pass in the required Scene data. */
34
35 void create_object(Main * /*bmain*/) override {};
36 void create_object(Scene *scene, Main *bmain);
37};
38
39} // namespace blender::io::usd
USDDomeLightReader(const pxr::UsdPrim &prim, const USDImportParams &import_params, const ImportSettings &settings)
USDPrimReader(const pxr::UsdPrim &prim, const USDImportParams &import_params, const ImportSettings &settings)
const pxr::UsdPrim & prim() const