Ignore abstract prims (#USDU-3 part 1) (#259)
* Ignore abstract prims when getting paths by type. * Update bindings binaries * Update win-10 yamato image
This commit is contained in:
Родитель
35d97f8c91
Коммит
65402eea52
|
@ -6,7 +6,7 @@ test_editors:
|
|||
test_platforms:
|
||||
- name: win
|
||||
type: Unity::VM
|
||||
image: package-ci/win10:stable
|
||||
image: package-ci/win10:v1.15.0
|
||||
flavor: b1.large
|
||||
- name: mac
|
||||
type: Unity::VM::osx
|
||||
|
|
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичный файл не отображается.
|
@ -311,6 +311,29 @@ namespace USD.NET.Tests
|
|||
stage.Dispose();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public static void GetAllPathByType_IgnoreAbstract()
|
||||
{
|
||||
var s = UsdStage.CreateInMemory();
|
||||
var meshToken = new TfToken("Mesh");
|
||||
|
||||
var classPrim = s.DefinePrim(new SdfPath("/thisIsAClass"), meshToken);
|
||||
classPrim.SetSpecifier(SdfSpecifier.SdfSpecifierClass);
|
||||
|
||||
var instancePrim = s.DefinePrim(new SdfPath("/inheritedPrim"));
|
||||
instancePrim.GetInherits().AddInherit(classPrim.GetPath());
|
||||
|
||||
var meshPrim = s.DefinePrim(new SdfPath("/meshPrim"), meshToken);
|
||||
|
||||
Assert.True(classPrim.IsAbstract());
|
||||
Assert.AreEqual(meshToken, classPrim.GetTypeName());
|
||||
Assert.False(instancePrim.IsAbstract());
|
||||
Assert.AreEqual(meshToken, instancePrim.GetTypeName());
|
||||
Assert.AreEqual(meshToken, meshPrim.GetTypeName());
|
||||
var allPaths = s.GetAllPathsByType(meshToken, SdfPath.AbsoluteRootPath());
|
||||
Assert.AreEqual(2, allPaths.Count);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WritingInvalidPrims_ShouldNotCrash()
|
||||
{
|
||||
|
|
|
@ -35,19 +35,19 @@ class string;
|
|||
%typemap(in, canthrow=1) std::string *
|
||||
%{ //typemap in
|
||||
std::string temp;
|
||||
$1 = &temp;
|
||||
$1 = &temp;
|
||||
%}
|
||||
|
||||
//C++
|
||||
%typemap(argout) std::string *
|
||||
%{
|
||||
%{
|
||||
//Typemap argout in c++ file.
|
||||
//This will convert c++ string to c# string
|
||||
*$input = SWIG_csharp_string_callback($1->c_str());
|
||||
%}
|
||||
|
||||
%typemap(argout) const std::string *
|
||||
%{
|
||||
%{
|
||||
//argout typemap for const std::string*
|
||||
%}
|
||||
|
||||
|
@ -94,7 +94,7 @@ class string;
|
|||
TfType schemaBaseType = TfType::Find<UsdSchemaBase>();
|
||||
|
||||
TfType baseType = schemaBaseType.FindDerivedByName(typeName);
|
||||
|
||||
|
||||
if (schemaBaseType == TfType::GetUnknownType()) {
|
||||
TF_RUNTIME_ERROR("Schema base type is unknown. This should never happen.");
|
||||
return targets;
|
||||
|
@ -123,7 +123,7 @@ class string;
|
|||
if (curType == TfType::GetUnknownType()) {
|
||||
continue;
|
||||
}
|
||||
if (curType.IsA(baseType)) {
|
||||
if (curType.IsA(baseType) && !p.IsAbstract()) {
|
||||
targets.push_back(p.GetPath());
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче