2023-06-15 16:45:22 +10:00
|
|
|
/* SPDX-FileCopyrightText: 2021 Tangent Animation. All rights reserved.
|
2023-08-16 00:20:26 +10:00
|
|
|
* SPDX-FileCopyrightText: 2023 Blender Authors
|
2023-05-31 16:19:06 +02:00
|
|
|
*
|
|
|
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
2023-06-15 16:45:22 +10:00
|
|
|
*
|
|
|
|
|
* Adapted from the Blender Alembic importer implementation. */
|
2021-08-03 11:55:53 +02:00
|
|
|
|
|
|
|
|
#include "usd_reader_prim.h"
|
|
|
|
|
|
|
|
|
|
#include "BLI_utildefines.h"
|
|
|
|
|
|
|
|
|
|
namespace blender::io::usd {
|
|
|
|
|
|
|
|
|
|
USDPrimReader::USDPrimReader(const pxr::UsdPrim &prim,
|
|
|
|
|
const USDImportParams &import_params,
|
|
|
|
|
const ImportSettings &settings)
|
|
|
|
|
: name_(prim.GetName().GetString()),
|
|
|
|
|
prim_path_(prim.GetPrimPath().GetString()),
|
|
|
|
|
object_(nullptr),
|
|
|
|
|
prim_(prim),
|
|
|
|
|
import_params_(import_params),
|
|
|
|
|
parent_reader_(nullptr),
|
|
|
|
|
settings_(&settings),
|
|
|
|
|
refcount_(0)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
USDPrimReader::~USDPrimReader() = default;
|
|
|
|
|
|
|
|
|
|
const pxr::UsdPrim &USDPrimReader::prim() const
|
|
|
|
|
{
|
|
|
|
|
return prim_;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Object *USDPrimReader::object() const
|
|
|
|
|
{
|
|
|
|
|
return object_;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void USDPrimReader::object(Object *ob)
|
|
|
|
|
{
|
|
|
|
|
object_ = ob;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool USDPrimReader::valid() const
|
|
|
|
|
{
|
|
|
|
|
return prim_.IsValid();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int USDPrimReader::refcount() const
|
|
|
|
|
{
|
|
|
|
|
return refcount_;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void USDPrimReader::incref()
|
|
|
|
|
{
|
|
|
|
|
refcount_++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void USDPrimReader::decref()
|
|
|
|
|
{
|
|
|
|
|
refcount_--;
|
|
|
|
|
BLI_assert(refcount_ >= 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} // namespace blender::io::usd
|