Add code generated files for mjcPhysics schema.
PiperOrigin-RevId: 757784741 Change-Id: Iacef6ef78c8e95ce51c5546562ad5b679f460deb
This commit is contained in:
committed by
Copybara-Service
parent
b53ed63b5f
commit
09bf5409ab
@@ -0,0 +1,120 @@
|
||||
// Copyright 2025 DeepMind Technologies Limited
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#include <boost/python.hpp>
|
||||
#include <string>
|
||||
|
||||
#include "./siteAPI.h"
|
||||
#include "pxr/base/tf/pyAnnotatedBoolResult.h"
|
||||
#include "pxr/base/tf/pyContainerConversions.h"
|
||||
#include "pxr/base/tf/pyResultConversions.h"
|
||||
#include "pxr/base/tf/pyUtils.h"
|
||||
#include "pxr/base/tf/wrapTypeHelpers.h"
|
||||
#include "pxr/usd/sdf/primSpec.h"
|
||||
#include "pxr/usd/usd/pyConversions.h"
|
||||
#include "pxr/usd/usd/schemaBase.h"
|
||||
|
||||
using namespace boost::python;
|
||||
|
||||
PXR_NAMESPACE_USING_DIRECTIVE
|
||||
|
||||
namespace {
|
||||
|
||||
#define WRAP_CUSTOM \
|
||||
template <class Cls> \
|
||||
static void _CustomWrapCode(Cls &_class)
|
||||
|
||||
// fwd decl.
|
||||
WRAP_CUSTOM;
|
||||
|
||||
static std::string _Repr(const MjcPhysicsSiteAPI &self) {
|
||||
std::string primRepr = TfPyRepr(self.GetPrim());
|
||||
return TfStringPrintf("MjcPhysics.SiteAPI(%s)", primRepr.c_str());
|
||||
}
|
||||
|
||||
struct MjcPhysicsSiteAPI_CanApplyResult
|
||||
: public TfPyAnnotatedBoolResult<std::string> {
|
||||
MjcPhysicsSiteAPI_CanApplyResult(bool val, std::string const &msg)
|
||||
: TfPyAnnotatedBoolResult<std::string>(val, msg) {}
|
||||
};
|
||||
|
||||
static MjcPhysicsSiteAPI_CanApplyResult _WrapCanApply(const UsdPrim &prim) {
|
||||
std::string whyNot;
|
||||
bool result = MjcPhysicsSiteAPI::CanApply(prim, &whyNot);
|
||||
return MjcPhysicsSiteAPI_CanApplyResult(result, whyNot);
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
void wrapMjcPhysicsSiteAPI() {
|
||||
typedef MjcPhysicsSiteAPI This;
|
||||
|
||||
MjcPhysicsSiteAPI_CanApplyResult::Wrap<MjcPhysicsSiteAPI_CanApplyResult>(
|
||||
"_CanApplyResult", "whyNot");
|
||||
|
||||
class_<This, bases<UsdAPISchemaBase> > cls("SiteAPI");
|
||||
|
||||
cls.def(init<UsdPrim>(arg("prim")))
|
||||
.def(init<UsdSchemaBase const &>(arg("schemaObj")))
|
||||
.def(TfTypePythonClass())
|
||||
|
||||
.def("Get", &This::Get, (arg("stage"), arg("path")))
|
||||
.staticmethod("Get")
|
||||
|
||||
.def("CanApply", &_WrapCanApply, (arg("prim")))
|
||||
.staticmethod("CanApply")
|
||||
|
||||
.def("Apply", &This::Apply, (arg("prim")))
|
||||
.staticmethod("Apply")
|
||||
|
||||
.def("GetSchemaAttributeNames", &This::GetSchemaAttributeNames,
|
||||
arg("includeInherited") = true,
|
||||
return_value_policy<TfPySequenceToList>())
|
||||
.staticmethod("GetSchemaAttributeNames")
|
||||
|
||||
.def("_GetStaticTfType", (TfType const &(*)())TfType::Find<This>,
|
||||
return_value_policy<return_by_value>())
|
||||
.staticmethod("_GetStaticTfType")
|
||||
|
||||
.def(!self)
|
||||
|
||||
.def("__repr__", ::_Repr);
|
||||
|
||||
_CustomWrapCode(cls);
|
||||
}
|
||||
|
||||
// ===================================================================== //
|
||||
// Feel free to add custom code below this line, it will be preserved by
|
||||
// the code generator. The entry point for your custom code should look
|
||||
// minimally like the following:
|
||||
//
|
||||
// WRAP_CUSTOM {
|
||||
// _class
|
||||
// .def("MyCustomMethod", ...)
|
||||
// ;
|
||||
// }
|
||||
//
|
||||
// Of course any other ancillary or support code may be provided.
|
||||
//
|
||||
// Just remember to wrap code in the appropriate delimiters:
|
||||
// 'namespace {', '}'.
|
||||
//
|
||||
// ===================================================================== //
|
||||
// --(BEGIN CUSTOM CODE)--
|
||||
|
||||
namespace {
|
||||
|
||||
WRAP_CUSTOM {}
|
||||
|
||||
} // namespace
|
||||
Reference in New Issue
Block a user