Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
64 lines
1.2 KiB
C++
64 lines
1.2 KiB
C++
/* SPDX-License-Identifier: GPL-2.0-or-later
|
|
* Adapted from the Blender Alembic importer implementation.
|
|
* Modifications Copyright 2021 Tangent Animation. All rights reserved. */
|
|
|
|
#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
|