diff --git a/lib/flowViewport/API/interfacesImp/fvpDataProducerSceneIndexInterfaceImp.cpp b/lib/flowViewport/API/interfacesImp/fvpDataProducerSceneIndexInterfaceImp.cpp index 8f5a0016a2..12eb5aaf16 100644 --- a/lib/flowViewport/API/interfacesImp/fvpDataProducerSceneIndexInterfaceImp.cpp +++ b/lib/flowViewport/API/interfacesImp/fvpDataProducerSceneIndexInterfaceImp.cpp @@ -254,13 +254,17 @@ void DataProducerSceneIndexInterfaceImp::_AddDataProducerSceneIndexToThisViewpor } } -void DataProducerSceneIndexInterfaceImp::hydraViewportSceneIndexAdded(const InformationInterface::ViewportInformation& viewportInfo) +bool DataProducerSceneIndexInterfaceImp::hydraViewportSceneIndexAdded(const InformationInterface::ViewportInformation& viewportInfo) { + bool dataProducerSceneIndicesAdded = false; //Add the data producer scene indices that apply to all viewports to this newly created hydra viewport std::lock_guard lockDataProducerSceneIndicesDataPerViewport(dataProducerSceneIndicesThatApplyToAllViewports_mutex); for (const PXR_NS::FVP_NS_DEF::DataProducerSceneIndexDataBaseRefPtr& dataProducerSceneIndexData : dataProducerSceneIndicesThatApplyToAllViewports){ _AddDataProducerSceneIndexToThisViewport(viewportInfo, dataProducerSceneIndexData); + dataProducerSceneIndicesAdded = true; } + + return dataProducerSceneIndicesAdded; } void DataProducerSceneIndexInterfaceImp::setSceneIndexDataFactory(DataProducerSceneIndexDataAbstractFactory& factory) diff --git a/lib/flowViewport/API/interfacesImp/fvpDataProducerSceneIndexInterfaceImp.h b/lib/flowViewport/API/interfacesImp/fvpDataProducerSceneIndexInterfaceImp.h index a123ee237d..6d9183aa0b 100644 --- a/lib/flowViewport/API/interfacesImp/fvpDataProducerSceneIndexInterfaceImp.h +++ b/lib/flowViewport/API/interfacesImp/fvpDataProducerSceneIndexInterfaceImp.h @@ -72,7 +72,8 @@ class DataProducerSceneIndexInterfaceImp : public DataProducerSceneIndexInterfac //Called by flow viewport ///hydraViewportSceneIndexAdded is called when a new hydra viewport is created by the ViewportInformationAndSceneIndicesPerViewportDataManager, it's not a callback. - void hydraViewportSceneIndexAdded(const InformationInterface::ViewportInformation& viewportInfo); + //returns true if some data producer scene indices were added + bool hydraViewportSceneIndexAdded(const InformationInterface::ViewportInformation& viewportInfo); void removeAllViewportDataProducerSceneIndices(ViewportInformationAndSceneIndicesPerViewportData& viewportInformationAndSceneIndicesPerViewportData); ///Since Flow viewport is DCC agnostic, the DCC will implement a concrete factory and call setSceneIndexDataFactory to register it in this class. diff --git a/lib/flowViewport/API/perViewportSceneIndicesData/fvpViewportInformationAndSceneIndicesPerViewportDataManager.cpp b/lib/flowViewport/API/perViewportSceneIndicesData/fvpViewportInformationAndSceneIndicesPerViewportDataManager.cpp index 7f3b61024e..e88800eb90 100644 --- a/lib/flowViewport/API/perViewportSceneIndicesData/fvpViewportInformationAndSceneIndicesPerViewportDataManager.cpp +++ b/lib/flowViewport/API/perViewportSceneIndicesData/fvpViewportInformationAndSceneIndicesPerViewportDataManager.cpp @@ -58,7 +58,7 @@ ViewportInformationAndSceneIndicesPerViewportDataManager& ViewportInformationAnd } //A new Hydra viewport was created -void ViewportInformationAndSceneIndicesPerViewportDataManager::AddViewportInformation(const InformationInterface::ViewportInformation& viewportInfo, const Fvp::RenderIndexProxyPtr& renderIndexProxy, +bool ViewportInformationAndSceneIndicesPerViewportDataManager::AddViewportInformation(const InformationInterface::ViewportInformation& viewportInfo, const Fvp::RenderIndexProxyPtr& renderIndexProxy, const HdSceneIndexBaseRefPtr& inputSceneIndexForCustomFiltering) { TF_AXIOM(renderIndexProxy && inputSceneIndexForCustomFiltering); @@ -73,7 +73,7 @@ void ViewportInformationAndSceneIndicesPerViewportDataManager::AddViewportInform auto findResult = std::find_if(_viewportsInformationAndSceneIndicesPerViewportData.begin(), _viewportsInformationAndSceneIndicesPerViewportData.end(), [&viewportId](const ViewportInformationAndSceneIndicesPerViewportData& other) { return other.GetViewportInformation()._viewportId == viewportId;}); if (findResult != _viewportsInformationAndSceneIndicesPerViewportData.end()){ - return;//It is already inside our array + return false;//It is already inside our array } ViewportInformationAndSceneIndicesPerViewportData temp(viewportInfo, renderIndexProxy); @@ -81,7 +81,7 @@ void ViewportInformationAndSceneIndicesPerViewportDataManager::AddViewportInform } //Call this to let the data producer scene indices that apply to all viewports to be added to this new viewport as well - DataProducerSceneIndexInterfaceImp::get().hydraViewportSceneIndexAdded(viewportInfo); + const bool dataProducerSceneIndicesAdded = DataProducerSceneIndexInterfaceImp::get().hydraViewportSceneIndexAdded(viewportInfo); //Let the registered clients know a new viewport has been added InformationInterfaceImp::Get().SceneIndexAdded(viewportInfo); @@ -90,11 +90,12 @@ void ViewportInformationAndSceneIndicesPerViewportDataManager::AddViewportInform TF_AXIOM(newElement); const HdSceneIndexBaseRefPtr lastFilteringSceneIndex = FilteringSceneIndicesChainManager::get().createFilteringSceneIndicesChain(*newElement, inputSceneIndexForCustomFiltering); - //Insert the last filtering scene index into the render index auto renderIndex = renderIndexProxy->GetRenderIndex(); TF_AXIOM(renderIndex); renderIndex->InsertSceneIndex(lastFilteringSceneIndex, SdfPath::AbsoluteRootPath()); + + return dataProducerSceneIndicesAdded; } void ViewportInformationAndSceneIndicesPerViewportDataManager::RemoveViewportInformation(const std::string& modelPanel) diff --git a/lib/flowViewport/API/perViewportSceneIndicesData/fvpViewportInformationAndSceneIndicesPerViewportDataManager.h b/lib/flowViewport/API/perViewportSceneIndicesData/fvpViewportInformationAndSceneIndicesPerViewportDataManager.h index 139bb84844..c282968702 100644 --- a/lib/flowViewport/API/perViewportSceneIndicesData/fvpViewportInformationAndSceneIndicesPerViewportDataManager.h +++ b/lib/flowViewport/API/perViewportSceneIndicesData/fvpViewportInformationAndSceneIndicesPerViewportDataManager.h @@ -40,7 +40,8 @@ class FVP_API ViewportInformationAndSceneIndicesPerViewportDataManager static ViewportInformationAndSceneIndicesPerViewportDataManager& Get(); //A new Hydra viewport was created, we need inputSceneIndexForCustomFiltering to be used as an input scene index for custom filtering scene indices - void AddViewportInformation(const InformationInterface::ViewportInformation& viewportInfo, const Fvp::RenderIndexProxyPtr& renderIndexProxy, + //return true if some data producer scene indices were added + bool AddViewportInformation(const InformationInterface::ViewportInformation& viewportInfo, const Fvp::RenderIndexProxyPtr& renderIndexProxy, const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndexForCustomFiltering); //A Hydra viewport was deleted diff --git a/lib/flowViewport/CMakeLists.txt b/lib/flowViewport/CMakeLists.txt index a1f4ca25cc..06f8a2007e 100644 --- a/lib/flowViewport/CMakeLists.txt +++ b/lib/flowViewport/CMakeLists.txt @@ -21,6 +21,7 @@ set(HEADERS fvpUtils.h global.h tokens.h + fvpWireframeColorInterface.h ) # ----------------------------------------------------------------------------- diff --git a/lib/flowViewport/colorPreferences/fvpColorPreferencesTokens.h b/lib/flowViewport/colorPreferences/fvpColorPreferencesTokens.h index 95f27308ac..c39ede01f3 100644 --- a/lib/flowViewport/colorPreferences/fvpColorPreferencesTokens.h +++ b/lib/flowViewport/colorPreferences/fvpColorPreferencesTokens.h @@ -33,7 +33,8 @@ PXR_NAMESPACE_OPEN_SCOPE (wireframeSelectionSecondary) \ (vertexSelection) \ (edgeSelection) \ - (faceSelection) + (faceSelection) \ + (polymeshDormant) // clang-format on TF_DECLARE_PUBLIC_TOKENS(FvpColorPreferencesTokens, FVP_API, FVP_COLOR_PREFERENCES_TOKENS); diff --git a/lib/flowViewport/fvpUtils.h b/lib/flowViewport/fvpUtils.h index 8c917916d8..a2073c245a 100644 --- a/lib/flowViewport/fvpUtils.h +++ b/lib/flowViewport/fvpUtils.h @@ -21,6 +21,10 @@ #include #endif +#include +#include +#include + namespace FVP_NS_DEF { // At time of writing, the last reference removal causing destruction of a @@ -35,6 +39,56 @@ namespace FVP_NS_DEF { void FVP_API leakSceneIndex(const PXR_NS::HdSceneIndexBaseRefPtr& si); #endif +/// A convenience data source implementing the primvar schema from +/// a triple of primvar value, interpolation and role. The latter two +/// are given as tokens. The value can be given either as data source +/// or as thunk returning a data source which is evaluated on each +/// Get. +class PrimvarDataSource final : public PXR_NS::HdContainerDataSource +{ +public: + HD_DECLARE_DATASOURCE(PrimvarDataSource); + + PXR_NS::TfTokenVector GetNames() override { + return {PXR_NS::HdPrimvarSchemaTokens->primvarValue, + PXR_NS::HdPrimvarSchemaTokens->interpolation, + PXR_NS::HdPrimvarSchemaTokens->role}; + } + + PXR_NS::HdDataSourceBaseHandle Get(const PXR_NS::TfToken &name) override { + if (name == PXR_NS::HdPrimvarSchemaTokens->primvarValue) { + return _primvarValueSrc; + } + if (name == PXR_NS::HdPrimvarSchemaTokens->interpolation) { + return + PXR_NS::HdPrimvarSchema::BuildInterpolationDataSource( + _interpolation); + } + if (name == PXR_NS::HdPrimvarSchemaTokens->role) { + return + PXR_NS::HdPrimvarSchema::BuildRoleDataSource( + _role); + } + + return nullptr; + } + +private: + PrimvarDataSource( + const PXR_NS::HdDataSourceBaseHandle &primvarValueSrc, + const PXR_NS::TfToken &interpolation, + const PXR_NS::TfToken &role) + : _primvarValueSrc(primvarValueSrc) + , _interpolation(interpolation) + , _role(role) + { + } + + PXR_NS::HdDataSourceBaseHandle _primvarValueSrc; + PXR_NS::TfToken _interpolation; + PXR_NS::TfToken _role; +}; + } // namespace FVP_NS_DEF #endif // FVP_UTILS_H diff --git a/lib/flowViewport/fvpWireframeColorInterface.h b/lib/flowViewport/fvpWireframeColorInterface.h new file mode 100644 index 0000000000..6430daea98 --- /dev/null +++ b/lib/flowViewport/fvpWireframeColorInterface.h @@ -0,0 +1,40 @@ +// +// Copyright 2024 Autodesk +// +// 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. +// +#ifndef FLOW_VIEWPORT_WIREFRAME_COLOR_INTERFACE_H +#define FLOW_VIEWPORT_WIREFRAME_COLOR_INTERFACE_H + +//Local headers +#include "flowViewport/api.h" + +//Hydra headers +#include +#include + +namespace FVP_NS_DEF { + + +/// \class WireframeColorInterface +/// An interface to get the wireframe color from a prim +class WireframeColorInterface +{ +public: + //Get the wireframe color of a primitive for selection highlighting + virtual PXR_NS::GfVec4f getWireframeColor(const PXR_NS::SdfPath& primPath) const = 0; +}; + +}//end of namespace FVP_NS_DEF + +#endif //FLOW_VIEWPORT_WIREFRAME_COLOR_INTERFACE_H diff --git a/lib/flowViewport/sceneIndex/CMakeLists.txt b/lib/flowViewport/sceneIndex/CMakeLists.txt index 7b2b228c32..9c6df3521d 100644 --- a/lib/flowViewport/sceneIndex/CMakeLists.txt +++ b/lib/flowViewport/sceneIndex/CMakeLists.txt @@ -12,6 +12,8 @@ target_sources(${TARGET_NAME} fvpWireframeSelectionHighlightSceneIndex.cpp fvpDisplayStyleOverrideSceneIndex.cpp fvpBBoxSceneIndex.cpp + fvpReprSelectorSceneIndex.cpp + fvpBlockPrimRemovalPropagationSceneIndex.cpp ) set(HEADERS @@ -25,6 +27,8 @@ set(HEADERS fvpWireframeSelectionHighlightSceneIndex.h fvpDisplayStyleOverrideSceneIndex.h fvpBBoxSceneIndex.h + fvpReprSelectorSceneIndex.h + fvpBlockPrimRemovalPropagationSceneIndex.h ) # ----------------------------------------------------------------------------- diff --git a/lib/flowViewport/sceneIndex/fvpBBoxSceneIndex.cpp b/lib/flowViewport/sceneIndex/fvpBBoxSceneIndex.cpp index 4798424531..e11a50a487 100644 --- a/lib/flowViewport/sceneIndex/fvpBBoxSceneIndex.cpp +++ b/lib/flowViewport/sceneIndex/fvpBBoxSceneIndex.cpp @@ -16,6 +16,7 @@ //Local headers #include "fvpBBoxSceneIndex.h" +#include "flowViewport/fvpUtils.h" //USD/Hydra headers #include @@ -34,6 +35,7 @@ #include #include #include +#include // This class is a filtering scene index that converts the geometries into a bounding box using the extent attribute. @@ -55,56 +57,6 @@ namespace return result; } - /// A convenience data source implementing the primvar schema from - /// a triple of primvar value, interpolation and role. The latter two - /// are given as tokens. The value can be given either as data source - /// or as thunk returning a data source which is evaluated on each - /// Get. - class _PrimvarDataSource final : public HdContainerDataSource - { - public: - HD_DECLARE_DATASOURCE(_PrimvarDataSource); - - TfTokenVector GetNames() override { - return {HdPrimvarSchemaTokens->primvarValue, - HdPrimvarSchemaTokens->interpolation, - HdPrimvarSchemaTokens->role}; - } - - HdDataSourceBaseHandle Get(const TfToken &name) override { - if (name == HdPrimvarSchemaTokens->primvarValue) { - return _primvarValueSrc; - } - if (name == HdPrimvarSchemaTokens->interpolation) { - return - HdPrimvarSchema::BuildInterpolationDataSource( - _interpolation); - } - if (name == HdPrimvarSchemaTokens->role) { - return - HdPrimvarSchema::BuildRoleDataSource( - _role); - } - - return nullptr; - } - - private: - _PrimvarDataSource( - const HdDataSourceBaseHandle &primvarValueSrc, - const TfToken &interpolation, - const TfToken &role) - : _primvarValueSrc(primvarValueSrc) - , _interpolation(interpolation) - , _role(role) - { - } - - HdDataSourceBaseHandle _primvarValueSrc; - TfToken _interpolation; - TfToken _role; - }; - /// Base class for container data sources providing primvars. /// /// Provides primvars common to bounding boxes display: @@ -120,40 +72,27 @@ namespace HdDataSourceBaseHandle Get(const TfToken &name) override { if (name == HdTokens->displayColor) { - //Get the color from the displayColor attribute of the prim - //Works only for maya native data at this time... - GfVec4f color(0,1,0,1); - HdSampledDataSourceHandle valueDs = HdSampledDataSource::Cast(_primSource->Get(name)); - if (valueDs) { - const VtValue value = valueDs->GetValue(0); - if (value.IsHolding()){ - color = value.UncheckedGet(); - }else - if (value.IsHolding()){ - auto color3 = value.UncheckedGet(); - color = GfVec4f(color3[0], color3[1], color3[2], 1.0f); - } - - HdDataSourceBaseHandle const src = - _PrimvarDataSource::New( - HdRetainedTypedSampledDataSource::New( - VtVec3fArray{{color[0], color[1], color[2]}}), - HdPrimvarSchemaTokens->constant, - HdPrimvarSchemaTokens->color); - return src; - } + HdDataSourceBaseHandle const src = + Fvp::PrimvarDataSource::New( + HdRetainedTypedSampledDataSource::New( + VtVec3fArray{{_wireframeColor[0], _wireframeColor[1], _wireframeColor[2]}}), + HdPrimvarSchemaTokens->constant, + HdPrimvarSchemaTokens->color); + return src; } return nullptr; } protected: _PrimvarsDataSource( - const HdContainerDataSourceHandle &primSource) - : _primSource(primSource) + const HdContainerDataSourceHandle &primSource, const GfVec4f& wireframeColor) + : _primSource(primSource), + _wireframeColor(wireframeColor) { } HdContainerDataSourceHandle _primSource; + GfVec4f _wireframeColor; }; /// Base class for prim data sources. @@ -164,6 +103,7 @@ namespace /// - visibility (from the given prim data source) /// - displayStyle (constant) /// - instancedBy + /// - primOrigin (for selection picking to work on usd prims in bounding box display mode) /// class _PrimDataSource : public HdContainerDataSource { @@ -175,14 +115,16 @@ namespace HdPurposeSchemaTokens->purpose, HdVisibilitySchemaTokens->visibility, HdInstancedBySchemaTokens->instancedBy, - HdLegacyDisplayStyleSchemaTokens->displayStyle }; + HdLegacyDisplayStyleSchemaTokens->displayStyle, + HdPrimOriginSchemaTokens->primOrigin}; } HdDataSourceBaseHandle Get(const TfToken &name) override { if (name == HdXformSchemaTokens->xform || name == HdPurposeSchemaTokens->purpose || name == HdVisibilitySchemaTokens->visibility || - name == HdInstancedBySchemaTokens->instancedBy) { + name == HdInstancedBySchemaTokens->instancedBy || + name == HdPrimOriginSchemaTokens->primOrigin) { if (_primSource) { return _primSource->Get(name); } @@ -193,7 +135,7 @@ namespace HdLegacyDisplayStyleSchema::Builder() .SetCullStyle( HdRetainedTypedSampledDataSource::New( - HdCullStyleTokens->back)) + HdCullStyleTokens->nothing))//No culling .Build(); return src; } @@ -294,7 +236,7 @@ namespace class _BoundsPrimvarsDataSource final : public _PrimvarsDataSource { public: - HD_DECLARE_DATASOURCE(_BoundsPrimvarsDataSource); + HD_DECLARE_DATASOURCE(_BoundsPrimvarsDataSource) TfTokenVector GetNames() override { static const TfTokenVector result = _Concat( @@ -305,7 +247,7 @@ namespace HdDataSourceBaseHandle Get(const TfToken &name) override { if (name == HdPrimvarsSchemaTokens->points) { - return _PrimvarDataSource::New( + return Fvp::PrimvarDataSource::New( _BoundsPointsPrimvarValueDataSource::New(_primSource), HdPrimvarSchemaTokens->vertex, HdPrimvarSchemaTokens->point); @@ -314,9 +256,8 @@ namespace } private: - _BoundsPrimvarsDataSource( - const HdContainerDataSourceHandle &primSource) - : _PrimvarsDataSource(primSource) + _BoundsPrimvarsDataSource(const HdContainerDataSourceHandle &primSource, const GfVec4f& wireframeColor) + : _PrimvarsDataSource(primSource, wireframeColor) { } }; @@ -364,7 +305,7 @@ namespace class _BoundsPrimDataSource : public _PrimDataSource { public: - HD_DECLARE_DATASOURCE(_BoundsPrimDataSource); + HD_DECLARE_DATASOURCE(_BoundsPrimDataSource) TfTokenVector GetNames() override { static const TfTokenVector result = _Concat( @@ -384,7 +325,7 @@ namespace return basisCurvesSrc; } if (name == HdPrimvarsSchemaTokens->primvars) { - return _BoundsPrimvarsDataSource::New(_primSource); + return _BoundsPrimvarsDataSource::New(_primSource, _wireframeColor); } if (name == HdExtentSchemaTokens->extent) { if (_primSource) { @@ -397,19 +338,31 @@ namespace private: _BoundsPrimDataSource( - const HdContainerDataSourceHandle &primSource) - : _PrimDataSource(primSource) + const HdContainerDataSourceHandle &primSource, const GfVec4f& wireframeColor) + : _PrimDataSource(primSource), + _wireframeColor(wireframeColor) { } + + GfVec4f _wireframeColor; }; } +BboxSceneIndex::BboxSceneIndex(const HdSceneIndexBaseRefPtr& inputSceneIndex, const std::shared_ptr& wireframeColorInterface) : + ParentClass(inputSceneIndex), + InputSceneIndexUtils(inputSceneIndex), + _wireframeColorInterface(wireframeColorInterface) +{ + TF_AXIOM(_wireframeColorInterface); +} + HdSceneIndexPrim BboxSceneIndex::GetPrim(const SdfPath& primPath) const { HdSceneIndexPrim prim = GetInputSceneIndex()->GetPrim(primPath); - if (prim.dataSource && ((prim.primType == HdPrimTypeTokens->mesh) || (prim.primType == HdPrimTypeTokens->basisCurves)) ){ + if (prim.dataSource && ! _isExcluded(primPath) && ((prim.primType == HdPrimTypeTokens->mesh) || (prim.primType == HdPrimTypeTokens->basisCurves)) ){ prim.primType = HdPrimTypeTokens->basisCurves;//Convert to basisCurve for displaying a bounding box - prim.dataSource = _BoundsPrimDataSource::New(prim.dataSource); + const GfVec4f wireframeColor = _wireframeColorInterface->getWireframeColor(primPath); + prim.dataSource = _BoundsPrimDataSource::New(prim.dataSource, wireframeColor); } return prim; @@ -417,6 +370,8 @@ HdSceneIndexPrim BboxSceneIndex::GetPrim(const SdfPath& primPath) const void BboxSceneIndex::_PrimsAdded(const HdSceneIndexBase& sender, const HdSceneIndexObserver::AddedPrimEntries& entries) { + if (!_IsObserved())return; + HdSceneIndexObserver::AddedPrimEntries newEntries; for (const HdSceneIndexObserver::AddedPrimEntry &entry : entries) { const SdfPath &path = entry.primPath; diff --git a/lib/flowViewport/sceneIndex/fvpBBoxSceneIndex.h b/lib/flowViewport/sceneIndex/fvpBBoxSceneIndex.h index 2c3c393717..cac498662e 100644 --- a/lib/flowViewport/sceneIndex/fvpBBoxSceneIndex.h +++ b/lib/flowViewport/sceneIndex/fvpBBoxSceneIndex.h @@ -19,9 +19,11 @@ //Local headers #include "flowViewport/api.h" #include "flowViewport/sceneIndex/fvpSceneIndexUtils.h" +#include "flowViewport/fvpWireframeColorInterface.h" //Hydra headers #include +#include #include namespace FVP_NS_DEF { @@ -43,8 +45,8 @@ class BboxSceneIndex : public PXR_NS::HdSingleInputFilteringSceneIndexBase using PXR_NS::HdSingleInputFilteringSceneIndexBase::_GetInputSceneIndex; FVP_API - static BboxSceneIndexRefPtr New(const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex){ - return PXR_NS::TfCreateRefPtr(new BboxSceneIndex(inputSceneIndex)); + static BboxSceneIndexRefPtr New(const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex, const std::shared_ptr& wireframeColorInterface){ + return PXR_NS::TfCreateRefPtr(new BboxSceneIndex(inputSceneIndex, wireframeColorInterface)); } // From HdSceneIndexBase @@ -59,17 +61,36 @@ class BboxSceneIndex : public PXR_NS::HdSingleInputFilteringSceneIndexBase FVP_API ~BboxSceneIndex() override = default; + FVP_API + void addExcludedSceneRoot(const PXR_NS::SdfPath& sceneRoot) { + _excludedSceneRoots.emplace(sceneRoot); + } + protected: - BboxSceneIndex(const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex) : ParentClass(inputSceneIndex), InputSceneIndexUtils(inputSceneIndex) {}; + BboxSceneIndex(const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex, const std::shared_ptr& wireframeColorInterface); //From HdSingleInputFilteringSceneIndexBase void _PrimsAdded(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::AddedPrimEntries& entries) override; void _PrimsRemoved(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::RemovedPrimEntries& entries)override{ + if (!_IsObserved())return; _SendPrimsRemoved(entries); } void _PrimsDirtied(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::DirtiedPrimEntries& entries)override{ + if (!_IsObserved())return; _SendPrimsDirtied(entries); } + + bool _isExcluded(const PXR_NS::SdfPath& sceneRoot) const { + for (const auto& excluded : _excludedSceneRoots) { + if (sceneRoot.HasPrefix(excluded)) { + return true; + } + } + return false; + } + + std::set _excludedSceneRoots; + std::shared_ptr _wireframeColorInterface; }; }//end of namespace FVP_NS_DEF diff --git a/lib/flowViewport/sceneIndex/fvpBlockPrimRemovalPropagationSceneIndex.cpp b/lib/flowViewport/sceneIndex/fvpBlockPrimRemovalPropagationSceneIndex.cpp new file mode 100644 index 0000000000..b2f59a8edf --- /dev/null +++ b/lib/flowViewport/sceneIndex/fvpBlockPrimRemovalPropagationSceneIndex.cpp @@ -0,0 +1,43 @@ +// +// Copyright 2024 Autodesk +// +// 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. +// + +//Local headers +#include "fvpBlockPrimRemovalPropagationSceneIndex.h" + + +/// A filtering scene index that blocks prim removal propagation. Example usage is : we are re-creating +/// the filtering scene index chain hierarchy and don't want the prim removal to propagate to the linked +/// scene index. + + +namespace FVP_NS_DEF { + +PXR_NAMESPACE_USING_DIRECTIVE + +BlockPrimRemovalPropagationSceneIndex::BlockPrimRemovalPropagationSceneIndex(const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex) + : ParentClass(inputSceneIndex), InputSceneIndexUtils(inputSceneIndex) +{ + _pathInterface = dynamic_cast(&*GetInputSceneIndex()); + TF_AXIOM(_pathInterface); +} + +void BlockPrimRemovalPropagationSceneIndex::_PrimsRemoved(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::RemovedPrimEntries& entries) +{ + if (!_IsObserved() || _blockPrimRemoval)return; + _SendPrimsRemoved(entries); +} + +}//end of namespace FVP_NS_DEF diff --git a/lib/flowViewport/sceneIndex/fvpBlockPrimRemovalPropagationSceneIndex.h b/lib/flowViewport/sceneIndex/fvpBlockPrimRemovalPropagationSceneIndex.h new file mode 100644 index 0000000000..a8e5f7f1f4 --- /dev/null +++ b/lib/flowViewport/sceneIndex/fvpBlockPrimRemovalPropagationSceneIndex.h @@ -0,0 +1,101 @@ +// +// Copyright 2024 Autodesk +// +// 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. +// +#ifndef FLOW_VIEWPORT_SCENEINDEX_FVP_BLOCK_PRIM_REMOVAL_PROPAGATION_SCENE_INDEX_H +#define FLOW_VIEWPORT_SCENEINDEX_FVP_BLOCK_PRIM_REMOVAL_PROPAGATION_SCENE_INDEX_H + +//Local headers +#include "flowViewport/api.h" +#include "flowViewport/sceneIndex/fvpSceneIndexUtils.h" +#include "flowViewport/selection/fvpSelectionFwd.h" +#include "flowViewport/sceneIndex/fvpPathInterface.h" + +//Hydra headers +#include + +namespace FVP_NS_DEF { + +class BlockPrimRemovalPropagationSceneIndex; +typedef PXR_NS::TfRefPtr BlockPrimRemovalPropagationSceneIndexRefPtr; +typedef PXR_NS::TfRefPtr BlockPrimRemovalPropagationSceneIndexConstRefPtr; + +/// \class BlockPrimRemovalPropagationSceneIndex +/// +/// A filtering scene index that blocks prim removal propagation. Example usage is : we are re-creating +/// the filtering scene index chain hierarchy and don't want the PrimRemoval to propagate to the linked +/// scene index. +class BlockPrimRemovalPropagationSceneIndex : public PXR_NS::HdSingleInputFilteringSceneIndexBase, public PathInterface //As a temp workaround we subclass PathInterface + , public Fvp::InputSceneIndexUtils +{ +public: + using ParentClass = PXR_NS::HdSingleInputFilteringSceneIndexBase; + using PXR_NS::HdSingleInputFilteringSceneIndexBase::_GetInputSceneIndex; + + FVP_API + static BlockPrimRemovalPropagationSceneIndexRefPtr New(const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex){ + return PXR_NS::TfCreateRefPtr(new BlockPrimRemovalPropagationSceneIndex(inputSceneIndex)); + } + + // From HdSceneIndexBase + FVP_API + PXR_NS::HdSceneIndexPrim GetPrim(const PXR_NS::SdfPath& primPath) const override{ + return GetInputSceneIndex()->GetPrim(primPath); + } + + FVP_API + PXR_NS::SdfPathVector GetChildPrimPaths(const PXR_NS::SdfPath& primPath) const override{ + return GetInputSceneIndex()->GetChildPrimPaths(primPath); + } + + FVP_API + ~BlockPrimRemovalPropagationSceneIndex() override = default; + + FVP_API + bool isPrimRemovalBlocked() const { return _blockPrimRemoval;} + + FVP_API + void setPrimRemovalBlocked(bool blockPrimRemoval) { _blockPrimRemoval = blockPrimRemoval; } + + //from PathInterface + FVP_API + PXR_NS::SdfPath SceneIndexPath(const Ufe::Path& appPath) const override{ + return _pathInterface->SceneIndexPath(appPath); + } + +protected: + FVP_API + BlockPrimRemovalPropagationSceneIndex(const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex); + + //From HdSingleInputFilteringSceneIndexBase + void _PrimsAdded(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::AddedPrimEntries& entries) override{ + if (!_IsObserved())return; + _SendPrimsAdded(entries); + } + + void _PrimsDirtied(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::DirtiedPrimEntries& entries)override{ + if (!_IsObserved())return; + _SendPrimsDirtied(entries); + } + + FVP_API + void _PrimsRemoved(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::RemovedPrimEntries& entries)override; + + bool _blockPrimRemoval {false}; + const PathInterface* _pathInterface {nullptr}; +}; + +}//end of namespace FVP_NS_DEF + +#endif //FLOW_VIEWPORT_SCENEINDEX_FVP_BLOCK_PRIM_REMOVAL_PROPAGATION_SCENE_INDEX_H diff --git a/lib/flowViewport/sceneIndex/fvpReprSelectorSceneIndex.cpp b/lib/flowViewport/sceneIndex/fvpReprSelectorSceneIndex.cpp new file mode 100644 index 0000000000..b4081fe418 --- /dev/null +++ b/lib/flowViewport/sceneIndex/fvpReprSelectorSceneIndex.cpp @@ -0,0 +1,121 @@ +// +// Copyright 2024 Autodesk +// +// 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. +// + +//Local headers +#include "fvpReprSelectorSceneIndex.h" +#include "flowViewport/fvpUtils.h" + +//USD/Hydra headers +#include +#include +#include +#include +#include + + +// This class is a filtering scene index that that applies a different RepSelector on geometries (such as wireframe or wireframe on shaded) +// and also applies an overrideWireframecolor for HdStorm + +namespace FVP_NS_DEF { + +PXR_NAMESPACE_USING_DIRECTIVE + +namespace { +//Handle primsvars:overrideWireframeColor in Storm for wireframe selection highlighting color +TF_DEFINE_PRIVATE_TOKENS( + _primVarsTokens, + + (overrideWireframeColor) // Works in HdStorm to override the wireframe color + ); + +//refined means that it supports a "refineLevel" attribute in the displayStyle to get a more refined drawing, valid range is from 0 to 8 + +//Wireframe on surface refined +const HdRetainedContainerDataSourceHandle sRefinedWireframeOnShadedDisplayStyleDataSource + = HdRetainedContainerDataSource::New( + HdLegacyDisplayStyleSchemaTokens->displayStyle, + HdRetainedContainerDataSource::New( + HdLegacyDisplayStyleSchemaTokens->reprSelector, + HdRetainedTypedSampledDataSource>::New( + { HdReprTokens->refinedWireOnSurf, TfToken(), TfToken() }))); + +//Wireframe on surface not refined +const HdRetainedContainerDataSourceHandle sdWireframeOnShadedDisplayStyleDataSource + = HdRetainedContainerDataSource::New( + HdLegacyDisplayStyleSchemaTokens->displayStyle, + HdRetainedContainerDataSource::New( + HdLegacyDisplayStyleSchemaTokens->reprSelector, + HdRetainedTypedSampledDataSource>::New( + { HdReprTokens->wireOnSurf, TfToken(), TfToken() }))); + +//Wireframe refined +const HdRetainedContainerDataSourceHandle sWireframeDisplayStyleDataSource + = HdRetainedContainerDataSource::New( + HdLegacyDisplayStyleSchemaTokens->displayStyle, + HdRetainedContainerDataSource::New( + HdLegacyDisplayStyleSchemaTokens->reprSelector, + HdRetainedTypedSampledDataSource>::New( + { HdReprTokens->refinedWire, TfToken(), TfToken() }))); + + +}//End of namespace + +ReprSelectorSceneIndex::ReprSelectorSceneIndex(const HdSceneIndexBaseRefPtr& inputSceneIndex, RepSelectorType type, const std::shared_ptr& wireframeColorInterface) + : ParentClass(inputSceneIndex), + InputSceneIndexUtils(inputSceneIndex), + _wireframeColorInterface(wireframeColorInterface) +{ + TF_AXIOM(_wireframeColorInterface); + switch (type){ + case RepSelectorType::WireframeRefined: + _wireframeTypeDataSource = sWireframeDisplayStyleDataSource; + break; + case RepSelectorType::WireframeOnSurface: + _wireframeTypeDataSource = sdWireframeOnShadedDisplayStyleDataSource; + break; + case RepSelectorType::WireframeOnSurfaceRefined: + _wireframeTypeDataSource = sRefinedWireframeOnShadedDisplayStyleDataSource; + break; + } +} + +HdSceneIndexPrim ReprSelectorSceneIndex::GetPrim(const SdfPath& primPath) const +{ + HdSceneIndexPrim prim = GetInputSceneIndex()->GetPrim(primPath); + if (prim.dataSource && !_isExcluded(primPath) && (prim.primType == HdPrimTypeTokens->mesh) ){ + + //Edit the dataSource as an overlay will not replace any existing attribute value. + // So we need to edit the _primVarsTokens->overrideWireframeColor attribute as they may already exist in the prim + auto edited = HdContainerDataSourceEditor(prim.dataSource); + + //Edit the override wireframe color + edited.Set(HdPrimvarsSchema::GetDefaultLocator().Append(_primVarsTokens->overrideWireframeColor), + Fvp::PrimvarDataSource::New( + HdRetainedTypedSampledDataSource::New( + VtVec4fArray{_wireframeColorInterface->getWireframeColor(primPath)}), + HdPrimvarSchemaTokens->constant, + HdPrimvarSchemaTokens->color)); + //Edit the cull style + edited.Set(HdLegacyDisplayStyleSchema::GetCullStyleLocator(), + HdRetainedTypedSampledDataSource::New(HdCullStyleTokens->nothing));//No culling + + prim.dataSource = HdOverlayContainerDataSource::New({ edited.Finish(), _wireframeTypeDataSource}); + } + + return prim; +} + +}//end of namespace FVP_NS_DEF diff --git a/lib/flowViewport/sceneIndex/fvpReprSelectorSceneIndex.h b/lib/flowViewport/sceneIndex/fvpReprSelectorSceneIndex.h new file mode 100644 index 0000000000..632ae2cb1e --- /dev/null +++ b/lib/flowViewport/sceneIndex/fvpReprSelectorSceneIndex.h @@ -0,0 +1,109 @@ +// +// Copyright 2024 Autodesk +// +// 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. +// +#ifndef FLOW_VIEWPORT_SCENEINDEX_FVP_REPRSELECTOR_SCENE_INDEX_H +#define FLOW_VIEWPORT_SCENEINDEX_FVP_REPRSELECTOR_SCENE_INDEX_H + +//Local headers +#include "flowViewport/api.h" +#include "flowViewport/sceneIndex/fvpSceneIndexUtils.h" +#include "flowViewport/fvpWireframeColorInterface.h" + +//Hydra headers +#include +#include +#include + +namespace FVP_NS_DEF { + +class ReprSelectorSceneIndex; +typedef PXR_NS::TfRefPtr ReprSelectorSceneIndexRefPtr; +typedef PXR_NS::TfRefPtr ReprSelectorSceneIndexConstRefPtr; + +/// \class ReprSelectorSceneIndex +/// +/// A filtering scene index that applies a different RepSelector on geometries (such as wireframe or wireframe on shaded). +/// +class ReprSelectorSceneIndex : public PXR_NS::HdSingleInputFilteringSceneIndexBase + , public Fvp::InputSceneIndexUtils +{ +public: + using ParentClass = PXR_NS::HdSingleInputFilteringSceneIndexBase; + using PXR_NS::HdSingleInputFilteringSceneIndexBase::_GetInputSceneIndex; + + enum class RepSelectorType{ + WireframeRefined, //Refined wireframe (refined means that it supports a "refineLevel" attribute in the displayStyle to get a more refined drawing, valid range is from 0 to 8) + WireframeOnSurface, //Wireframe on surface not refined + WireframeOnSurfaceRefined,//Wireframe on surface refined + }; + + FVP_API + static ReprSelectorSceneIndexRefPtr New(const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex, RepSelectorType type, const std::shared_ptr& wireframeColorInterface){ + return PXR_NS::TfCreateRefPtr(new ReprSelectorSceneIndex(inputSceneIndex, type, wireframeColorInterface)); + } + + // From HdSceneIndexBase + FVP_API + PXR_NS::HdSceneIndexPrim GetPrim(const PXR_NS::SdfPath& primPath) const override; + + FVP_API + PXR_NS::SdfPathVector GetChildPrimPaths(const PXR_NS::SdfPath& primPath) const override{ + return GetInputSceneIndex()->GetChildPrimPaths(primPath); + } + + FVP_API + ~ReprSelectorSceneIndex() override = default; + + FVP_API + void addExcludedSceneRoot(const PXR_NS::SdfPath& sceneRoot) { + _excludedSceneRoots.emplace(sceneRoot); + } + +protected: + +ReprSelectorSceneIndex(const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex, RepSelectorType type, const std::shared_ptr& wireframeColorInterface); + + //From HdSingleInputFilteringSceneIndexBase + void _PrimsAdded(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::AddedPrimEntries& entries) override{ + if (!_IsObserved())return; + _SendPrimsAdded(entries); + } + void _PrimsRemoved(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::RemovedPrimEntries& entries)override{ + if (!_IsObserved())return; + _SendPrimsRemoved(entries); + } + void _PrimsDirtied(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::DirtiedPrimEntries& entries)override{ + if (!_IsObserved())return; + _SendPrimsDirtied(entries); + } + + bool _isExcluded(const PXR_NS::SdfPath& sceneRoot) const { + for (const auto& excluded : _excludedSceneRoots) { + if (sceneRoot.HasPrefix(excluded)) { + return true; + } + } + return false; + } + + std::set _excludedSceneRoots; + + PXR_NS::HdRetainedContainerDataSourceHandle _wireframeTypeDataSource = nullptr; + std::shared_ptr _wireframeColorInterface; +}; + +}//end of namespace FVP_NS_DEF + +#endif //FLOW_VIEWPORT_SCENEINDEX_FVP_REPRSELECTOR_SCENE_INDEX_H diff --git a/lib/flowViewport/sceneIndex/fvpWireframeSelectionHighlightSceneIndex.cpp b/lib/flowViewport/sceneIndex/fvpWireframeSelectionHighlightSceneIndex.cpp index fe56365453..dfaf66b3ce 100644 --- a/lib/flowViewport/sceneIndex/fvpWireframeSelectionHighlightSceneIndex.cpp +++ b/lib/flowViewport/sceneIndex/fvpWireframeSelectionHighlightSceneIndex.cpp @@ -16,18 +16,27 @@ #include "flowViewport/sceneIndex/fvpWireframeSelectionHighlightSceneIndex.h" #include "flowViewport/selection/fvpSelection.h" +#include "flowViewport/fvpUtils.h" #include "flowViewport/debugCodes.h" #include #include +#include #include #include PXR_NAMESPACE_USING_DIRECTIVE namespace { -const HdRetainedContainerDataSourceHandle sSelectedDisplayStyleDataSource +//Handle primsvars:overrideWireframeColor in Storm for wireframe selection highlighting color +TF_DEFINE_PRIVATE_TOKENS( + _primVarsTokens, + + (overrideWireframeColor) // Works in HdStorm to override the wireframe color + ); + +const HdRetainedContainerDataSourceHandle sRefinedWireOnSurfaceDisplayStyleDataSource = HdRetainedContainerDataSource::New( HdLegacyDisplayStyleSchemaTokens->displayStyle, HdRetainedContainerDataSource::New( @@ -38,6 +47,9 @@ const HdRetainedContainerDataSourceHandle sSelectedDisplayStyleDataSource const HdDataSourceLocator reprSelectorLocator( HdLegacyDisplayStyleSchemaTokens->displayStyle, HdLegacyDisplayStyleSchemaTokens->reprSelector); + +const HdDataSourceLocator primvarsOverrideWireframeColorLocator( + HdPrimvarsSchema::GetDefaultLocator().Append(_primVarsTokens->overrideWireframeColor)); } namespace FVP_NS_DEF { @@ -45,10 +57,11 @@ namespace FVP_NS_DEF { HdSceneIndexBaseRefPtr WireframeSelectionHighlightSceneIndex::New( const HdSceneIndexBaseRefPtr& inputSceneIndex, - const SelectionConstPtr& selection + const SelectionConstPtr& selection, + const std::shared_ptr& wireframeColorInterface ) { - return TfCreateRefPtr(new WireframeSelectionHighlightSceneIndex(inputSceneIndex, selection)); + return TfCreateRefPtr(new WireframeSelectionHighlightSceneIndex(inputSceneIndex, selection, wireframeColorInterface)); } const HdDataSourceLocator& WireframeSelectionHighlightSceneIndex::ReprSelectorLocator() @@ -59,12 +72,16 @@ const HdDataSourceLocator& WireframeSelectionHighlightSceneIndex::ReprSelectorLo WireframeSelectionHighlightSceneIndex:: WireframeSelectionHighlightSceneIndex( const HdSceneIndexBaseRefPtr& inputSceneIndex, - const SelectionConstPtr& selection + const SelectionConstPtr& selection, + const std::shared_ptr& wireframeColorInterface ) : HdSingleInputFilteringSceneIndexBase(inputSceneIndex) - , InputSceneIndexUtils(inputSceneIndex) - , _selection(selection) -{} + , InputSceneIndexUtils(inputSceneIndex) + , _selection(selection) + , _wireframeColorInterface(wireframeColorInterface) +{ + TF_AXIOM(_wireframeColorInterface); +} HdSceneIndexPrim WireframeSelectionHighlightSceneIndex::GetPrim(const SdfPath &primPath) const @@ -79,10 +96,9 @@ WireframeSelectionHighlightSceneIndex::GetPrim(const SdfPath &primPath) const // means that HdsiImplicitSurfaceSceneIndex must be used before this scene // index to convert implicit surfaces (e.g. USD cube / cone / sphere / // capsule primitive types) to meshes. - if (!isExcluded(primPath) && prim.primType == HdPrimTypeTokens->mesh) { + if (! _IsExcluded(primPath) && prim.primType == HdPrimTypeTokens->mesh) { if (_selection->HasFullySelectedAncestorInclusive(primPath)) { - prim.dataSource = HdOverlayContainerDataSource::New( - { prim.dataSource, sSelectedDisplayStyleDataSource }); + prim.dataSource = _HighlightSelectedPrim(prim.dataSource, primPath); } } return prim; @@ -94,6 +110,40 @@ WireframeSelectionHighlightSceneIndex::GetChildPrimPaths(const SdfPath &primPath return GetInputSceneIndex()->GetChildPrimPaths(primPath); } +//We want to set the displayStyle of the selected prim to refinedWireOnSurf only if the displayStyle of the prim is refined (meaning shaded) +HdContainerDataSourceHandle WireframeSelectionHighlightSceneIndex::_HighlightSelectedPrim(const HdContainerDataSourceHandle& dataSource, const SdfPath& primPath)const +{ + //Always edit its override wireframe color + auto edited = HdContainerDataSourceEditor(dataSource); + edited.Set(HdPrimvarsSchema::GetDefaultLocator().Append(_primVarsTokens->overrideWireframeColor), + Fvp::PrimvarDataSource::New( + HdRetainedTypedSampledDataSource::New(VtVec4fArray{_wireframeColorInterface->getWireframeColor(primPath)}), + HdPrimvarSchemaTokens->constant, + HdPrimvarSchemaTokens->color)); + + //Is the prim in refined displayStyle (meaning shaded) ? + if (HdLegacyDisplayStyleSchema styleSchema = + HdLegacyDisplayStyleSchema::GetFromParent(dataSource)) { + + if (HdTokenArrayDataSourceHandle ds = + styleSchema.GetReprSelector()) { + VtArray ar = ds->GetTypedValue(0.0f); + TfToken refinedToken = ar[0]; + if(HdReprTokens->refined == refinedToken){ + //Is in refined display style, apply the wire on top of shaded reprselector + return HdOverlayContainerDataSource::New({ edited.Finish(), sRefinedWireOnSurfaceDisplayStyleDataSource}); + } + }else{ + //No reprSelector found, assume it's in the Collection that we have set HdReprTokens->refined + return HdOverlayContainerDataSource::New({ edited.Finish(), sRefinedWireOnSurfaceDisplayStyleDataSource}); + } + } + + //For the other case, we are only updating the wireframe color assuming we are already drawing lines + return edited.Finish(); +} + + void WireframeSelectionHighlightSceneIndex::_PrimsAdded( const HdSceneIndexBase &sender, @@ -117,14 +167,14 @@ WireframeSelectionHighlightSceneIndex::_PrimsDirtied( for (const auto& entry : entries) { // If the dirtied prim is excluded, don't provide selection // highlighting for it. - if (!isExcluded(entry.primPath) && + if (! _IsExcluded(entry.primPath) && entry.dirtyLocators.Contains( HdSelectionsSchema::GetDefaultLocator())) { TF_DEBUG(FVP_WIREFRAME_SELECTION_HIGHLIGHT_SCENE_INDEX) .Msg(" %s selections locator dirty.\n", entry.primPath.GetText()); // All mesh prims recursively under the selection dirty prim have a // dirty wireframe selection highlight. - dirtySelectionHighlightRecursive(entry.primPath, &highlightEntries); + _DirtySelectionHighlightRecursive(entry.primPath, &highlightEntries); } } @@ -151,16 +201,17 @@ WireframeSelectionHighlightSceneIndex::_PrimsRemoved( _SendPrimsRemoved(entries); } -void WireframeSelectionHighlightSceneIndex::dirtySelectionHighlightRecursive( +void WireframeSelectionHighlightSceneIndex::_DirtySelectionHighlightRecursive( const SdfPath& primPath, HdSceneIndexObserver::DirtiedPrimEntries* highlightEntries ) { TF_DEBUG(FVP_WIREFRAME_SELECTION_HIGHLIGHT_SCENE_INDEX) .Msg(" marking %s wireframe highlight locator dirty.\n", primPath.GetText()); - highlightEntries->emplace_back(primPath, HdDataSourceLocatorSet(reprSelectorLocator)); + + highlightEntries->emplace_back(primPath, HdDataSourceLocatorSet {reprSelectorLocator, primvarsOverrideWireframeColorLocator}); for (const auto& childPath : GetChildPrimPaths(primPath)) { - dirtySelectionHighlightRecursive(childPath, highlightEntries); + _DirtySelectionHighlightRecursive(childPath, highlightEntries); } } @@ -171,7 +222,7 @@ void WireframeSelectionHighlightSceneIndex::addExcludedSceneRoot( _excludedSceneRoots.emplace(sceneRoot); } -bool WireframeSelectionHighlightSceneIndex::isExcluded( +bool WireframeSelectionHighlightSceneIndex::_IsExcluded( const PXR_NS::SdfPath& sceneRoot ) const { diff --git a/lib/flowViewport/sceneIndex/fvpWireframeSelectionHighlightSceneIndex.h b/lib/flowViewport/sceneIndex/fvpWireframeSelectionHighlightSceneIndex.h index d24d269532..e5ad1234b0 100644 --- a/lib/flowViewport/sceneIndex/fvpWireframeSelectionHighlightSceneIndex.h +++ b/lib/flowViewport/sceneIndex/fvpWireframeSelectionHighlightSceneIndex.h @@ -18,6 +18,7 @@ #include "flowViewport/api.h" #include "flowViewport/selection/fvpSelectionFwd.h" #include "flowViewport/sceneIndex/fvpSceneIndexUtils.h" +#include "flowViewport/fvpWireframeColorInterface.h" #include #include @@ -49,7 +50,8 @@ class WireframeSelectionHighlightSceneIndex FVP_API static PXR_NS::HdSceneIndexBaseRefPtr New( const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex, - const std::shared_ptr& selection + const SelectionConstPtr& selection, + const std::shared_ptr& wireframeColorInterface ); FVP_API @@ -73,7 +75,8 @@ class WireframeSelectionHighlightSceneIndex FVP_API WireframeSelectionHighlightSceneIndex( const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex, - const std::shared_ptr& selection + const SelectionConstPtr& selection, + const std::shared_ptr& wireframeColorInterface ); FVP_API @@ -93,16 +96,18 @@ class WireframeSelectionHighlightSceneIndex private: - void dirtySelectionHighlightRecursive( + void _DirtySelectionHighlightRecursive( const PXR_NS::SdfPath& primPath, PXR_NS::HdSceneIndexObserver::DirtiedPrimEntries* highlightEntries ); - bool isExcluded(const PXR_NS::SdfPath& sceneRoot) const; + bool _IsExcluded(const PXR_NS::SdfPath& sceneRoot) const; std::set _excludedSceneRoots; + PXR_NS::HdContainerDataSourceHandle _HighlightSelectedPrim(const PXR_NS::HdContainerDataSourceHandle& dataSource, const PXR_NS::SdfPath& primPath)const; const SelectionConstPtr _selection; + const std::shared_ptr _wireframeColorInterface; }; } diff --git a/lib/mayaHydra/hydraExtensions/CMakeLists.txt b/lib/mayaHydra/hydraExtensions/CMakeLists.txt index cef6759426..032a7b50d2 100644 --- a/lib/mayaHydra/hydraExtensions/CMakeLists.txt +++ b/lib/mayaHydra/hydraExtensions/CMakeLists.txt @@ -13,6 +13,8 @@ target_sources(${TARGET_NAME} mayaUtils.cpp mhBuildInfo.cpp mixedUtils.cpp + mhWireframeColorInterfaceImp.cpp + mhLeadObjectPathTracker.cpp ) set(HEADERS @@ -24,6 +26,8 @@ set(HEADERS mayaHydraLibInterfaceImp.h mayaUtils.h mixedUtils.h + mhWireframeColorInterfaceImp.h + mhLeadObjectPathTracker.h ) # ----------------------------------------------------------------------------- diff --git a/lib/mayaHydra/hydraExtensions/mayaUtils.h b/lib/mayaHydra/hydraExtensions/mayaUtils.h index 71e9ad7ae1..a962d2b272 100644 --- a/lib/mayaHydra/hydraExtensions/mayaUtils.h +++ b/lib/mayaHydra/hydraExtensions/mayaUtils.h @@ -33,6 +33,7 @@ const std::string kDormantColorTableName = "dormant"; // Color names const std::string kLeadColorName = "lead"; const std::string kPolymeshActiveColorName = "polymeshActive"; +const std::string kPolymeshDormantColorName = "polymeshDormant"; const std::string kPolyVertexColorName = "polyVertex"; const std::string kPolyEdgeColorName = "polyEdge"; const std::string kPolyFaceColorName = "polyFace"; diff --git a/lib/mayaHydra/hydraExtensions/mhLeadObjectPathTracker.cpp b/lib/mayaHydra/hydraExtensions/mhLeadObjectPathTracker.cpp new file mode 100644 index 0000000000..938dcabfcd --- /dev/null +++ b/lib/mayaHydra/hydraExtensions/mhLeadObjectPathTracker.cpp @@ -0,0 +1,133 @@ +// +// Copyright 2023 Autodesk, Inc. All rights reserved. +// +// 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. +// + +//Local headers +#include "mhLeadObjectPathTracker.h" + +//Flow viewport headers +#include +#include +#include + +//ufe +#include +#include +#include +#include + +PXR_NAMESPACE_USING_DIRECTIVE + +// The MhLeadObjectPathTracker class is responsible for maintaining the lead object prim path and also notifying the old +// lead object when a new lead object is selected + +namespace { + +//GlobalSelectionChangedObs handles notifications from ufe when the global selection changes to track the lead object +class GlobalSelectionChangedObs : public Ufe::Observer + { + public: + GlobalSelectionChangedObs(MayaHydra::MhLeadObjectPathTracker& leadObjectPathInstance) + : _leadObjectPathTracker(leadObjectPathInstance) + { + } + + private: + void operator()(const Ufe::Notification& notification) override + { + //selection has changed. + + //Update the lead object if it has changed + auto globalSelection = Ufe::GlobalSelection::get(); + if (globalSelection->size() > 0) { + auto newLeadObjectUfePath = globalSelection->back()->path(); + auto currentLeadObjectUfePath = _leadObjectPathTracker.getLeadObjectUfePath(); + if (newLeadObjectUfePath != currentLeadObjectUfePath){ + _leadObjectPathTracker.setLeadObjectUfePath(newLeadObjectUfePath); + } + }else { + _leadObjectPathTracker.setLeadObjectUfePath({}); + } + } + + MayaHydra::MhLeadObjectPathTracker& _leadObjectPathTracker; + }; + +} +namespace MAYAHYDRA_NS_DEF { + +MhLeadObjectPathTracker::MhLeadObjectPathTracker(const HdSceneIndexBaseRefPtr& sceneIndexWithPathInterface, + MhDirtyLeadObjectSceneIndexRefPtr& dirtyLeadObjectSceneIndex) + : _pathInterface(dynamic_cast(&*sceneIndexWithPathInterface)) + , _ufeSelectionObserver (std::make_shared(*this)) + , _dirtyLeadObjectSceneIndex(dirtyLeadObjectSceneIndex) +{ + TF_AXIOM(_pathInterface); + + const Ufe::GlobalSelection::Ptr& ufeSelection = Ufe::GlobalSelection::get(); + if (ufeSelection->size() > 0){ + const Ufe::Selection& selection = *(ufeSelection); + auto leadObjectSceneItem = selection.back();//get last selected + _leadObjectUfePath = leadObjectSceneItem->path(); + //_leadObjectPrimPath can be empty with a valid _leadObjectUfePath when the lead object is in a data producer scene index not yet added to the merging scene index + //This is fixed at some point by calling updatePrimPath() + _leadObjectPrimPath = _pathInterface->SceneIndexPath(_leadObjectUfePath); + } + + // Add ourself as an observer to the selection + + ufeSelection->addObserver(_ufeSelectionObserver); +} + +MhLeadObjectPathTracker::~MhLeadObjectPathTracker() +{ + Ufe::GlobalSelection::get()->removeObserver(_ufeSelectionObserver); + _ufeSelectionObserver = nullptr; +} + +bool MhLeadObjectPathTracker::isLeadObject(const PXR_NS::SdfPath& primPath) const +{ + //_leadObjectPrimPath can be a hierarchy path, so we need to check if the primPath is a prefix + //of the lead object prim path + return primPath.HasPrefix(_leadObjectPrimPath); +} + +void MhLeadObjectPathTracker::setLeadObjectUfePath(const Ufe::Path& newLeadObjectUfePath) +{ + //newLeadObjectUfePath be an empty Ufe::Path + if (_leadObjectUfePath == newLeadObjectUfePath) { + return; + } + + auto oldLeadObjectPrimPath = _leadObjectPrimPath; + + _leadObjectUfePath = newLeadObjectUfePath; + _leadObjectPrimPath = _pathInterface->SceneIndexPath(_leadObjectUfePath); + + // Dirty the previous lead object + if(_dirtyLeadObjectSceneIndex){ + _dirtyLeadObjectSceneIndex->dirtyLeadObjectRelatedPrims(oldLeadObjectPrimPath, _leadObjectPrimPath); + } +} + +void MhLeadObjectPathTracker::updatePrimPath() +{ + // Update the lead object prim path in case it was not valid yet + if ( (_leadObjectUfePath.size() > 0) && _leadObjectPrimPath.IsEmpty()) { + _leadObjectPrimPath = _pathInterface->SceneIndexPath(_leadObjectUfePath); + } +} + +}//End of MAYAHYDRA_NS_DEF \ No newline at end of file diff --git a/lib/mayaHydra/hydraExtensions/mhLeadObjectPathTracker.h b/lib/mayaHydra/hydraExtensions/mhLeadObjectPathTracker.h new file mode 100644 index 0000000000..28e9e48b7f --- /dev/null +++ b/lib/mayaHydra/hydraExtensions/mhLeadObjectPathTracker.h @@ -0,0 +1,71 @@ +// +// Copyright 2024 Autodesk +// +// 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. +// +#ifndef MAYA_HYDRA_LEAD_OBJECT_PATH_H +#define MAYA_HYDRA_LEAD_OBJECT_PATH_H + +//Local headers +#include "mayaHydraLib/api.h" +#include "mayaHydraLib/mayaHydra.h" +#include "mayaHydraLib/sceneIndex/mhDirtyLeadObjectSceneIndex.h" + +//Flow viewport headers +#include + +//ufe +#include +#include + +//Hydra headers +#include + +//Predeclaration +namespace MAYAHYDRA_NS_DEF { + +/// \class MhLeadObjectPathTracker +/// This class is responsible for maintaining the lead object prim path and also notifying the old +/// lead object when a new lead object is selected +class MhLeadObjectPathTracker +{ +public: + MAYAHYDRALIB_API + MhLeadObjectPathTracker(const PXR_NS::HdSceneIndexBaseRefPtr& sceneIndexWithPathInterface, MhDirtyLeadObjectSceneIndexRefPtr& dirtyPreviousLeadObjectSceneIndex); + + MAYAHYDRALIB_API + ~MhLeadObjectPathTracker(); + + MAYAHYDRALIB_API + bool isLeadObject(const PXR_NS::SdfPath& primPath) const; + + MAYAHYDRALIB_API + Ufe::Path getLeadObjectUfePath() const {return _leadObjectUfePath;} + + MAYAHYDRALIB_API + void setLeadObjectUfePath(const Ufe::Path& newLeadObjectUfePath); + + MAYAHYDRALIB_API + void updatePrimPath(); // For example : this is called after the data producer scene indices are loaded + +private: + const Fvp::PathInterface* const _pathInterface {nullptr}; + PXR_NS::SdfPath _leadObjectPrimPath; + Ufe::Observer::Ptr _ufeSelectionObserver {nullptr}; + Ufe::Path _leadObjectUfePath; + const MhDirtyLeadObjectSceneIndexRefPtr _dirtyLeadObjectSceneIndex; +}; + +}//end of namespace MAYAHYDRA_NS_DEF + +#endif //MAYA_HYDRA_LEAD_OBJECT_PATH_H diff --git a/lib/mayaHydra/hydraExtensions/mhWireframeColorInterfaceImp.cpp b/lib/mayaHydra/hydraExtensions/mhWireframeColorInterfaceImp.cpp new file mode 100644 index 0000000000..68473bf23a --- /dev/null +++ b/lib/mayaHydra/hydraExtensions/mhWireframeColorInterfaceImp.cpp @@ -0,0 +1,76 @@ +// +// Copyright 2023 Autodesk, Inc. All rights reserved. +// +// 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. +// + +//Local headers +#include "mhWireframeColorInterfaceImp.h" + +//Flow viewport headers +#include +#include +#include + +//ufe +#include +#include +#include + +PXR_NAMESPACE_USING_DIRECTIVE + +// An implementation for maya of the WireframeColorInterface to get the wireframe color from a prim for selection highlighting +namespace { + PXR_NS::GfVec4f getPreferencesColor(const PXR_NS::TfToken& token) { + PXR_NS::GfVec4f color; + Fvp::ColorPreferences::getInstance().getColor(token, color); + return color; + } +} +namespace MAYAHYDRA_NS_DEF { + +MhWireframeColorInterfaceImp::MhWireframeColorInterfaceImp(const std::shared_ptr& selection + , const std::shared_ptr& leadObjectPathTracker) + : _activeWireframeColor (getPreferencesColor(FvpColorPreferencesTokens->wireframeSelectionSecondary)) + , _leadWireframeColor (getPreferencesColor(FvpColorPreferencesTokens->wireframeSelection)) + , _dormantWireframeColor (getPreferencesColor(FvpColorPreferencesTokens->polymeshDormant)) + , _selection(selection) + , _leadObjectPathTracker(leadObjectPathTracker) +{ + TF_AXIOM(_selection); +} + +MhWireframeColorInterfaceImp::SelectionState MhWireframeColorInterfaceImp::_getSelectionState(const PXR_NS::SdfPath& primPath)const +{ + if (_selection->HasFullySelectedAncestorInclusive(primPath)){ + return (_leadObjectPathTracker->isLeadObject(primPath)) ? kLead : kActive; + } + + return kDormant; +} + +GfVec4f MhWireframeColorInterfaceImp::getWireframeColor(const SdfPath& primPath) const { + SelectionState selState = _getSelectionState(primPath); + switch (selState) { + case kLead: + return _leadWireframeColor; + case kActive: + return _activeWireframeColor; + default: + break; + } + + return _dormantWireframeColor; +} + +}//End of MAYAHYDRA_NS_DEF \ No newline at end of file diff --git a/lib/mayaHydra/hydraExtensions/mhWireframeColorInterfaceImp.h b/lib/mayaHydra/hydraExtensions/mhWireframeColorInterfaceImp.h new file mode 100644 index 0000000000..1c92f0652e --- /dev/null +++ b/lib/mayaHydra/hydraExtensions/mhWireframeColorInterfaceImp.h @@ -0,0 +1,64 @@ +// +// Copyright 2024 Autodesk +// +// 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. +// +#ifndef MAYA_HYDRA_WIREFRAME_COLOR_INTERFACE_IMP_H +#define MAYA_HYDRA_WIREFRAME_COLOR_INTERFACE_IMP_H + +//Local headers +#include +#include +#include + +//Flow viewport headers +#include +#include +#include + +//Hydra headers +#include + +namespace MAYAHYDRA_NS_DEF { + +/// \class MhWireframeColorInterfaceImp +/// An implementation for maya of the WireframeColorInterface to get the wireframe color from a prim for selection highlighting +class MhWireframeColorInterfaceImp : public Fvp::WireframeColorInterface +{ +public: + MAYAHYDRALIB_API + MhWireframeColorInterfaceImp(const std::shared_ptr& selection, const std::shared_ptr& _leadObjectPathTracker); + + //Get the wireframe color of a primitive for selection highlighting, + // this checks if the prim is selected or not and if it is selected, + // it returns the maya lead or active color depending on the lead of the selection + MAYAHYDRALIB_API + PXR_NS::GfVec4f getWireframeColor(const PXR_NS::SdfPath& primPath) const override; + +private: + enum SelectionState {kLead, kActive, kDormant}; + + SelectionState _getSelectionState(const PXR_NS::SdfPath& primPath)const; + + //Colors used by wireframe selection highlighting + PXR_NS::GfVec4f _activeWireframeColor; + PXR_NS::GfVec4f _leadWireframeColor; + PXR_NS::GfVec4f _dormantWireframeColor; + + const Fvp::SelectionPtr _selection; + const std::shared_ptr _leadObjectPathTracker; +}; + +}//end of namespace MAYAHYDRA_NS_DEF + +#endif //MAYA_HYDRA_WIREFRAME_COLOR_INTERFACE_IMP_H diff --git a/lib/mayaHydra/hydraExtensions/sceneIndex/CMakeLists.txt b/lib/mayaHydra/hydraExtensions/sceneIndex/CMakeLists.txt index f8a754cfc2..5f09979edb 100644 --- a/lib/mayaHydra/hydraExtensions/sceneIndex/CMakeLists.txt +++ b/lib/mayaHydra/hydraExtensions/sceneIndex/CMakeLists.txt @@ -18,6 +18,7 @@ target_sources(${TARGET_NAME} mayaHydraMayaFilteringSceneIndexData.cpp mayaHydraMayaFilteringSceneIndexDataConcreteFactory.cpp mhMayaUsdProxyShapeSceneIndex.cpp + mhDirtyLeadObjectSceneIndex.cpp ) set(HEADERS @@ -37,6 +38,7 @@ set(HEADERS mayaHydraMayaFilteringSceneIndexData.h mayaHydraMayaFilteringSceneIndexDataConcreteFactory.h mhMayaUsdProxyShapeSceneIndex.h + mhDirtyLeadObjectSceneIndex.h ) # ----------------------------------------------------------------------------- diff --git a/lib/mayaHydra/hydraExtensions/sceneIndex/mhDirtyLeadObjectSceneIndex.cpp b/lib/mayaHydra/hydraExtensions/sceneIndex/mhDirtyLeadObjectSceneIndex.cpp new file mode 100644 index 0000000000..ec98572adc --- /dev/null +++ b/lib/mayaHydra/hydraExtensions/sceneIndex/mhDirtyLeadObjectSceneIndex.cpp @@ -0,0 +1,70 @@ +// +// Copyright 2024 Autodesk +// +// 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. +// + +//Local headers +#include "mhDirtyLeadObjectSceneIndex.h" + +// Hydra headers +#include +#include + +PXR_NAMESPACE_USING_DIRECTIVE + +// The MhDirtyLeadObjectSceneIndex class is responsible for dirtying the current and previous maya selection lead objects prim +// path when a change in the lead object selection has happened. +namespace MAYAHYDRA_NS_DEF { + +namespace { + //Handle primsvars:overrideWireframeColor in Storm for wireframe selection highlighting color + TF_DEFINE_PRIVATE_TOKENS( + _primVarsTokens, + + (overrideWireframeColor) // Works in HdStorm to override the wireframe color + ); + + const HdDataSourceLocatorSet primvarsColorsLocatorSet{ HdPrimvarsSchema::GetDefaultLocator().Append(_primVarsTokens->overrideWireframeColor), + HdPrimvarsSchema::GetDefaultLocator().Append(HdTokens->displayColor) + }; +} + +void MhDirtyLeadObjectSceneIndex::dirtyLeadObjectRelatedPrims(const SdfPath& previousLeadObjectPath, const SdfPath& currentLeadObjectPath) +{ + // Each SdfPath could be a hierarchy path, so we need to get the children prim paths + HdSceneIndexObserver::DirtiedPrimEntries dirtiedPrimEntries; + if (! previousLeadObjectPath.IsEmpty()) { + _AddDirtyPathRecursively(previousLeadObjectPath, dirtiedPrimEntries); + } + if (!currentLeadObjectPath.IsEmpty()) { + _AddDirtyPathRecursively(currentLeadObjectPath, dirtiedPrimEntries); + } + + if (! dirtiedPrimEntries.empty()){ + _SendPrimsDirtied(dirtiedPrimEntries); + } +} + +void MhDirtyLeadObjectSceneIndex::_AddDirtyPathRecursively(const SdfPath& path, HdSceneIndexObserver::DirtiedPrimEntries& inoutDirtiedPrimEntries)const +{ + //path can be a hierachy of prim paths so we need to get all children prim paths + inoutDirtiedPrimEntries.emplace_back(path, primvarsColorsLocatorSet); + + auto childPrimPathsArray = GetChildPrimPaths(path); + for (const auto& childPath : childPrimPathsArray) { + _AddDirtyPathRecursively(childPath, inoutDirtiedPrimEntries); + } +} + +}//end of namespace MAYAHYDRA_NS_DEF diff --git a/lib/mayaHydra/hydraExtensions/sceneIndex/mhDirtyLeadObjectSceneIndex.h b/lib/mayaHydra/hydraExtensions/sceneIndex/mhDirtyLeadObjectSceneIndex.h new file mode 100644 index 0000000000..9ac549ace7 --- /dev/null +++ b/lib/mayaHydra/hydraExtensions/sceneIndex/mhDirtyLeadObjectSceneIndex.h @@ -0,0 +1,92 @@ +// +// Copyright 2024 Autodesk +// +// 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. +// +#ifndef MAYA_HYDRA_SCENE_INDEX_DIRTY_PREVIOUS_LEAD_OBJECT_SCENE_INDEX_H +#define MAYA_HYDRA_SCENE_INDEX_DIRTY_PREVIOUS_LEAD_OBJECT_SCENE_INDEX_H + +//MayaHydra headers +#include "mayaHydraLib/api.h" +#include "mayaHydraLib/mayaHydra.h" + +// Flow Viewport Toolkit headers. +#include "flowViewport/sceneIndex/fvpSceneIndexUtils.h" + +//Usd/Hydra headers +#include + + +namespace MAYAHYDRA_NS_DEF { + +class MhDirtyLeadObjectSceneIndex; +typedef PXR_NS::TfRefPtr MhDirtyLeadObjectSceneIndexRefPtr; +typedef PXR_NS::TfRefPtr MhDirtyLeadObjectSceneIndexConstRefPtr; + + +/// \class MhDirtyLeadObjectSceneIndex +/// This class is responsible for dirtying the current and previous maya selection lead objects prim +/// path when a change in the lead object selection has happened. +class MhDirtyLeadObjectSceneIndex : public PXR_NS::HdSingleInputFilteringSceneIndexBase + , public Fvp::InputSceneIndexUtils +{ +public: + using ParentClass = PXR_NS::HdSingleInputFilteringSceneIndexBase; + using PXR_NS::HdSingleInputFilteringSceneIndexBase::_GetInputSceneIndex; + + static MhDirtyLeadObjectSceneIndexRefPtr New(const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex){ + return PXR_NS::TfCreateRefPtr(new MhDirtyLeadObjectSceneIndex(inputSceneIndex)); + } + + // From HdSceneIndexBase + PXR_NS::HdSceneIndexPrim GetPrim(const PXR_NS::SdfPath& primPath) const override{ + return GetInputSceneIndex()->GetPrim(primPath); + } + + PXR_NS::SdfPathVector GetChildPrimPaths(const PXR_NS::SdfPath& primPath) const override{ + return GetInputSceneIndex()->GetChildPrimPaths(primPath); + } + + ~MhDirtyLeadObjectSceneIndex() override = default; + + MAYAHYDRALIB_API + void dirtyLeadObjectRelatedPrims(const PXR_NS::SdfPath& previousLeadObjectPath, const PXR_NS::SdfPath& currentLeadObjectPath); + +protected: + + MhDirtyLeadObjectSceneIndex(const PXR_NS::HdSceneIndexBaseRefPtr& inputSceneIndex) + : ParentClass(inputSceneIndex), InputSceneIndexUtils(inputSceneIndex){} + + //From HdSingleInputFilteringSceneIndexBase + void _PrimsAdded(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::AddedPrimEntries& entries) override{ + if (!_IsObserved())return; + _SendPrimsAdded(entries); + } + + void _PrimsDirtied(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::DirtiedPrimEntries& entries)override{ + if (!_IsObserved())return; + _SendPrimsDirtied(entries); + } + + void _PrimsRemoved(const PXR_NS::HdSceneIndexBase& sender, const PXR_NS::HdSceneIndexObserver::RemovedPrimEntries& entries) override{ + if (!_IsObserved())return; + _SendPrimsRemoved(entries); + } + + MAYAHYDRALIB_API + void _AddDirtyPathRecursively(const PXR_NS::SdfPath& path, PXR_NS::HdSceneIndexObserver::DirtiedPrimEntries& inoutDirtiedPrimEntries)const; +}; + +} // namespace MAYAHYDRA_NS_DEF + +#endif //MAYA_HYDRA_SCENE_INDEX_DIRTY_PREVIOUS_LEAD_OBJECT_SCENE_INDEX_H diff --git a/lib/mayaHydra/mayaPlugin/mayaColorPreferencesTranslator.cpp b/lib/mayaHydra/mayaPlugin/mayaColorPreferencesTranslator.cpp index a3048366d0..4f27da6708 100644 --- a/lib/mayaHydra/mayaPlugin/mayaColorPreferencesTranslator.cpp +++ b/lib/mayaHydra/mayaPlugin/mayaColorPreferencesTranslator.cpp @@ -62,6 +62,7 @@ MayaColorPreferencesTranslator::MayaColorPreferencesTranslator() trackRGBAColor(kLeadColorName, PXR_NS::FvpColorPreferencesTokens->wireframeSelection); trackRGBAColor( kPolymeshActiveColorName, PXR_NS::FvpColorPreferencesTokens->wireframeSelectionSecondary); + trackRGBAColor(kPolymeshDormantColorName, PXR_NS::FvpColorPreferencesTokens->polymeshDormant); trackIndexedColor( kPolyVertexColorName, kActiveColorTableName, diff --git a/lib/mayaHydra/mayaPlugin/renderOverride.cpp b/lib/mayaHydra/mayaPlugin/renderOverride.cpp index 293168f5d1..efc6a602ca 100644 --- a/lib/mayaHydra/mayaPlugin/renderOverride.cpp +++ b/lib/mayaHydra/mayaPlugin/renderOverride.cpp @@ -27,7 +27,6 @@ #include "renderOverrideUtils.h" #include "tokens.h" -#include #include #include #include @@ -47,6 +46,7 @@ #include #include #include +#include #include #include @@ -340,6 +340,11 @@ Ufe::Path usdPathToUfePath( registration->pluginSceneIndex, usdPath) : Ufe::Path(); } +inline bool areDifferentForOneOfTheseBits(unsigned int val1, unsigned int val2, unsigned int bitsToTest) +{ + return ((val1 & bitsToTest) != (val2 & bitsToTest)); +} + } PXR_NAMESPACE_OPEN_SCOPE @@ -549,19 +554,6 @@ class UsdPickHandler : public MtohRenderOverride::PickHandlerBase { } }; -// We compare the current and previous viewport display style and -// return true if we need to recreate the filtering scene indices chain because of a change, false otherwise. -bool NeedToRecreateTheSceneIndicesChain(unsigned int currentDisplayStyle, unsigned int previousDisplayStyle) -{ - const bool currentlyUsingBBoxDisplayStyle = currentDisplayStyle & MHWRender::MFrameContext::kBoundingBox; - const bool previouslyUsingBBoxDisplayStyle = previousDisplayStyle & MHWRender::MFrameContext::kBoundingBox; - if (currentlyUsingBBoxDisplayStyle != previouslyUsingBBoxDisplayStyle){ - return true; - } - - return false; -} - } PXR_NAMESPACE_OPEN_SCOPE @@ -1042,7 +1034,15 @@ MStatus MtohRenderOverride::Render( //Create a HydraViewportInformation const Fvp::InformationInterface::ViewportInformation hydraViewportInformation(std::string(panelName.asChar()), cameraName); - manager.AddViewportInformation(hydraViewportInformation, _renderIndexProxy, _lastFilteringSceneIndexBeforeCustomFiltering); + const bool dataProducerSceneIndicesAdded = manager.AddViewportInformation(hydraViewportInformation, _renderIndexProxy, _lastFilteringSceneIndexBeforeCustomFiltering); + //Update the selection since we have added data producer scene indices through manager.AddViewportInformation to the merging scene index + if (dataProducerSceneIndicesAdded && _selectionSceneIndex){ + _selectionSceneIndex->ReplaceSelection(*Ufe::GlobalSelection::get()); + } + //Update the leadObjectTacker in case it could not find the current lead object which could be in a custom data producer scene index or a maya usd proxy shape scene index + if (_leadObjectPathTracker){ + _leadObjectPathTracker->updatePrimPath(); + } } } @@ -1059,8 +1059,8 @@ MStatus MtohRenderOverride::Render( _mayaHydraSceneIndex->SetParams(delegateParams); _mayaHydraSceneIndex->PreFrame(drawContext); - if (NeedToRecreateTheSceneIndicesChain(currentDisplayStyle, _oldDisplayStyle) || - _useDefaultMaterial != currentUseDefaultMaterial || _xRayEnabled != xRayEnabled){ + if (_NeedToRecreateTheSceneIndicesChain(currentDisplayStyle, currentUseDefaultMaterial, xRayEnabled)){ + _blockPrimRemovalPropagationSceneIndex->setPrimRemovalBlocked(true);//Prevent prim removal propagation to keep the current selection. //We need to recreate the filtering scene index chain after the merging scene index as there was a change such as in the BBox display style which has been turned on or off. _lastFilteringSceneIndexBeforeCustomFiltering = nullptr;//Release _CreateSceneIndicesChainAfterMergingSceneIndex(drawContext); @@ -1080,6 +1080,7 @@ MStatus MtohRenderOverride::Render( _xRayEnabled = xRayEnabled; _useDefaultMaterial = currentUseDefaultMaterial; + _blockPrimRemovalPropagationSceneIndex->setPrimRemovalBlocked(false);//Allow prim removal propagation again. } } @@ -1317,8 +1318,24 @@ void MtohRenderOverride::_InitHydraResources(const MHWRender::MDrawContext& draw _sceneIndexRegistry.reset(new MayaHydraSceneIndexRegistry(_renderIndexProxy)); } - _CreateSceneIndicesChainAfterMergingSceneIndex(drawContext); + //Create internal scene indices chain + _inputSceneIndexOfFilteringSceneIndicesChain = _renderIndexProxy->GetMergingSceneIndex(); + + //Put BlockPrimRemovalPropagationSceneIndex first as it can block/unblock the prim removal propagation on the whole scene indices chain + _blockPrimRemovalPropagationSceneIndex = Fvp::BlockPrimRemovalPropagationSceneIndex::New(_inputSceneIndexOfFilteringSceneIndicesChain); + _selection = std::make_shared(); + _selectionSceneIndex = Fvp::SelectionSceneIndex::New(_blockPrimRemovalPropagationSceneIndex, _selection); + _selectionSceneIndex->SetDisplayName("Flow Viewport Selection Scene Index"); + _inputSceneIndexOfFilteringSceneIndicesChain = _selectionSceneIndex; + + _dirtyLeadObjectSceneIndex = MAYAHYDRA_NS_DEF::MhDirtyLeadObjectSceneIndex::New(_inputSceneIndexOfFilteringSceneIndicesChain); + _inputSceneIndexOfFilteringSceneIndicesChain = _dirtyLeadObjectSceneIndex; + + // Set the initial selection onto the selection scene index. + _selectionSceneIndex->ReplaceSelection(*Ufe::GlobalSelection::get()); + _CreateSceneIndicesChainAfterMergingSceneIndex(drawContext); + if (auto* renderDelegate = _GetRenderDelegate()) { // Pull in any options that may have changed due file-open. // If the currentScene has defaultRenderGlobals we'll absorb those new settings, @@ -1374,6 +1391,8 @@ void MtohRenderOverride::ClearHydraResources(bool fullReset) _displayStyleSceneIndex = nullptr; _selectionSceneIndex.Reset(); _selection.reset(); + _wireframeColorInterfaceImp.reset(); + _leadObjectPathTracker.reset(); // Cleanup internal context data that keep references to data that is now // invalid. @@ -1411,21 +1430,63 @@ void MtohRenderOverride::ClearHydraResources(bool fullReset) void MtohRenderOverride::_CreateSceneIndicesChainAfterMergingSceneIndex(const MHWRender::MDrawContext& drawContext) { //This function is where happens the ordering of filtering scene indices that are after the merging scene index - TF_AXIOM(_renderIndexProxy); - - _lastFilteringSceneIndexBeforeCustomFiltering = _renderIndexProxy->GetMergingSceneIndex(); - - _selection = std::make_shared(); - _selectionSceneIndex = Fvp::SelectionSceneIndex::New(_lastFilteringSceneIndexBeforeCustomFiltering , _selection); - _selectionSceneIndex->SetDisplayName("Flow Viewport Selection Scene Index"); - _lastFilteringSceneIndexBeforeCustomFiltering = _selectionSceneIndex; - + //We use as its input scene index : _inputSceneIndexOfFilteringSceneIndicesChain // Add display style scene index _lastFilteringSceneIndexBeforeCustomFiltering = _displayStyleSceneIndex = - Fvp::DisplayStyleOverrideSceneIndex::New(_lastFilteringSceneIndexBeforeCustomFiltering); + Fvp::DisplayStyleOverrideSceneIndex::New(_inputSceneIndexOfFilteringSceneIndicesChain); _displayStyleSceneIndex->addExcludedSceneRoot(MAYA_NATIVE_ROOT); // Maya native prims don't use global refinement - auto wfSi = TfDynamic_cast(Fvp::WireframeSelectionHighlightSceneIndex::New(_lastFilteringSceneIndexBeforeCustomFiltering, _selection)); + const unsigned int currentDisplayStyle = drawContext.getDisplayStyle(); + const MFrameContext::WireOnShadedMode wireOnShadedMode = MFrameContext::wireOnShadedMode();//Get the user preference + + auto mergingSceneIndex = _renderIndexProxy->GetMergingSceneIndex(); + if(! _leadObjectPathTracker){ + _leadObjectPathTracker = std::make_shared(mergingSceneIndex, _dirtyLeadObjectSceneIndex); + } + + if (! _wireframeColorInterfaceImp){ + _wireframeColorInterfaceImp = std::make_shared(_selection, _leadObjectPathTracker); + } + + //Are we using Bounding Box display style ? + if (currentDisplayStyle & MHWRender::MFrameContext::kBoundingBox){ + //Insert the bounding box filtering scene index which converts geometries into a bounding box using the extent attribute + auto bboxSceneIndex = Fvp::BboxSceneIndex::New(_lastFilteringSceneIndexBeforeCustomFiltering, _wireframeColorInterfaceImp); + bboxSceneIndex->addExcludedSceneRoot(MAYA_NATIVE_ROOT); // Maya native prims are already converted by OGS + _lastFilteringSceneIndexBeforeCustomFiltering = bboxSceneIndex; + } + else if (currentDisplayStyle & MHWRender::MFrameContext::kWireFrame){//Are we using wireframe somehow ? + + if( (currentDisplayStyle & MHWRender::MFrameContext::kGouraudShaded) || (currentDisplayStyle & MHWRender::MFrameContext::kTextured)){ + // Wireframe on top of shaded + //Reduced quality + if (MFrameContext::WireOnShadedMode::kWireFrameOnShadedReduced == wireOnShadedMode ){ + //Insert the reprselector filtering scene index which updates the repr selector on geometries + auto reprSelectorSceneIndex = Fvp::ReprSelectorSceneIndex::New(_lastFilteringSceneIndexBeforeCustomFiltering, + Fvp::ReprSelectorSceneIndex::RepSelectorType::WireframeOnSurface, _wireframeColorInterfaceImp); + reprSelectorSceneIndex->addExcludedSceneRoot(MAYA_NATIVE_ROOT); // Maya native prims are already converted by OGS + _lastFilteringSceneIndexBeforeCustomFiltering = reprSelectorSceneIndex; + } else {//Full quality + //Should we support kWireFrameOnShadedNone and do not display any wireframe ? + //Insert the reprselector filtering scene index which updates the repr selector on geometries + auto reprSelectorSceneIndex = Fvp::ReprSelectorSceneIndex::New(_lastFilteringSceneIndexBeforeCustomFiltering, + Fvp::ReprSelectorSceneIndex::RepSelectorType::WireframeOnSurfaceRefined, _wireframeColorInterfaceImp); + reprSelectorSceneIndex->addExcludedSceneRoot(MAYA_NATIVE_ROOT); // Maya native prims are already converted by OGS + _lastFilteringSceneIndexBeforeCustomFiltering = reprSelectorSceneIndex; + } + } + else{ + //wireframe only, not on top of shaded + + //Insert the reprselector filtering scene index which updates the repr selector on geometries + auto reprSelectorSceneIndex = Fvp::ReprSelectorSceneIndex::New(_lastFilteringSceneIndexBeforeCustomFiltering, + Fvp::ReprSelectorSceneIndex::RepSelectorType::WireframeRefined, _wireframeColorInterfaceImp); + reprSelectorSceneIndex->addExcludedSceneRoot(MAYA_NATIVE_ROOT); // Maya native prims are already converted by OGS + _lastFilteringSceneIndexBeforeCustomFiltering = reprSelectorSceneIndex; + } + } + + auto wfSi = TfDynamic_cast(Fvp::WireframeSelectionHighlightSceneIndex::New(_lastFilteringSceneIndexBeforeCustomFiltering, _selection, _wireframeColorInterfaceImp)); wfSi->SetDisplayName("Flow Viewport Wireframe Selection Highlight Scene Index"); // At time of writing, wireframe selection highlighting of Maya native data @@ -1434,20 +1495,9 @@ void MtohRenderOverride::_CreateSceneIndicesChainAfterMergingSceneIndex(const MH wfSi->addExcludedSceneRoot(MAYA_NATIVE_ROOT); _lastFilteringSceneIndexBeforeCustomFiltering = wfSi; - const unsigned int currentDisplayStyle = drawContext.getDisplayStyle(); - - //Are we using Bounding Box display style ? - if (currentDisplayStyle & MHWRender::MFrameContext::kBoundingBox){ - //Insert the bounding box filtering scene index which converts geometries into a bounding box using the extent attribute - _lastFilteringSceneIndexBeforeCustomFiltering = Fvp::BboxSceneIndex::New(_lastFilteringSceneIndexBeforeCustomFiltering); - } - #ifdef CODE_COVERAGE_WORKAROUND Fvp::leakSceneIndex(_lastFilteringSceneIndexBeforeCustomFiltering); #endif - - // Set the initial selection onto the selection scene index. - _selectionSceneIndex->ReplaceSelection(*Ufe::GlobalSelection::get()); } void MtohRenderOverride::_RemovePanel(MString panelName) @@ -1886,4 +1936,27 @@ void MtohRenderOverride::_RenderOverrideChangedCallback( } } +// return true if we need to recreate the filtering scene indices chain because of a change, false otherwise. +bool MtohRenderOverride::_NeedToRecreateTheSceneIndicesChain(unsigned int currentDisplayStyle, bool currentUseDefaultMaterial, bool xRayEnabled) +{ + if (areDifferentForOneOfTheseBits(currentDisplayStyle, _oldDisplayStyle, + MHWRender::MFrameContext::kGouraudShaded | + MHWRender::MFrameContext::kTextured | + MHWRender::MFrameContext::kWireFrame | + MHWRender::MFrameContext::kBoundingBox ) + ){ + return true; + } + + if (_useDefaultMaterial != currentUseDefaultMaterial){ + return true; + } + + if (_xRayEnabled != xRayEnabled){ + return true; + } + + return false; +} + PXR_NAMESPACE_CLOSE_SCOPE diff --git a/lib/mayaHydra/mayaPlugin/renderOverride.h b/lib/mayaHydra/mayaPlugin/renderOverride.h index 676f0b5a25..7d17905e1e 100644 --- a/lib/mayaHydra/mayaPlugin/renderOverride.h +++ b/lib/mayaHydra/mayaPlugin/renderOverride.h @@ -36,13 +36,16 @@ #include #include #include - +#include +#include +#include #include #include #include #include #include +#include #include #include @@ -194,6 +197,8 @@ class MtohRenderOverride : public MHWRender::MRenderOverride void _AddPluginSelectionHighlighting(); + bool _NeedToRecreateTheSceneIndicesChain(unsigned int currentDisplayStyle, bool currentUseDefaultMaterial, bool xRayEnabled); + // Determine the pick handler which should handle a pick hit, to transform // the pick hit into a selection. const PickHandlerBase* _PickHandler(const HdxPickHit& hit) const; @@ -240,11 +245,13 @@ class MtohRenderOverride : public MHWRender::MRenderOverride HdPluginRenderDelegateUniqueHandle _renderDelegate = nullptr; Fvp::RenderIndexProxyPtr _renderIndexProxy{nullptr}; HdSceneIndexBaseRefPtr _lastFilteringSceneIndexBeforeCustomFiltering {nullptr}; + HdSceneIndexBaseRefPtr _inputSceneIndexOfFilteringSceneIndicesChain {nullptr}; Fvp::DisplayStyleOverrideSceneIndexRefPtr _displayStyleSceneIndex; HdRenderIndex* _renderIndex = nullptr; Fvp::SelectionTrackerSharedPtr _fvpSelectionTracker; Fvp::SelectionSceneIndexRefPtr _selectionSceneIndex; Fvp::SelectionPtr _selection; + Fvp::BlockPrimRemovalPropagationSceneIndexRefPtr _blockPrimRemovalPropagationSceneIndex; // Naming this identifier _ufeSelection clashes with UFE's selection.h // include guard and produces // "error C2351: obsolete C++ constructor initialization syntax" @@ -267,6 +274,11 @@ class MtohRenderOverride : public MHWRender::MRenderOverride MayaHydraSceneIndexRefPtr _mayaHydraSceneIndex; + //Lead object selection and wireframe color for selection highlight + std::shared_ptr _wireframeColorInterfaceImp {nullptr}; + std::shared_ptr _leadObjectPathTracker {nullptr}; + MAYAHYDRA_NS_DEF::MhDirtyLeadObjectSceneIndexRefPtr _dirtyLeadObjectSceneIndex{nullptr}; + /** This class creates the scene index data factories and set them up into the flow viewport library to be able to create DCC * specific scene index data classes without knowing their content in Flow viewport. * This is done in the constructor of this class diff --git a/test/lib/mayaUsd/render/mayaToHydra/CMakeLists.txt b/test/lib/mayaUsd/render/mayaToHydra/CMakeLists.txt index 11fdd11c3f..7bb543eb09 100644 --- a/test/lib/mayaUsd/render/mayaToHydra/CMakeLists.txt +++ b/test/lib/mayaUsd/render/mayaToHydra/CMakeLists.txt @@ -34,6 +34,7 @@ set(INTERACTIVE_TEST_SCRIPT_FILES testFootPrintNode.py testBackgroundColor.py testGrid.py + testDataProducerSelHighlight.py testPassingNormalsOnMayaNative.py cpp/testColorPreferences.py cpp/testCppFramework.py diff --git a/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_AllSelected.png b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_AllSelected.png new file mode 100644 index 0000000000..3cfec46d4d Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_AllSelected.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_BoundingBox_AllSelected.png b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_BoundingBox_AllSelected.png new file mode 100644 index 0000000000..7ae87d0bcd Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_BoundingBox_AllSelected.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1And2AndTAndPSelected.png b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1And2AndTAndPSelected.png new file mode 100644 index 0000000000..a4a2f0a239 Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1And2AndTAndPSelected.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1And2AndTSelected.png b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1And2AndTSelected.png new file mode 100644 index 0000000000..df8bd44089 Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1And2AndTSelected.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1And2AndTSelectedPRemoved.png b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1And2AndTSelectedPRemoved.png new file mode 100644 index 0000000000..05da14f447 Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1And2AndTSelectedPRemoved.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1And2Selected.png b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1And2Selected.png new file mode 100644 index 0000000000..e76a9a7d1d Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1And2Selected.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1Selected.png b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1Selected.png new file mode 100644 index 0000000000..181d426eb2 Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S1Selected.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S2AndTSelPAndS1Removed.png b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S2AndTSelPAndS1Removed.png new file mode 100644 index 0000000000..43422cb4be Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_S2AndTSelPAndS1Removed.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_WireOnShaded_AllSelected.png b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_WireOnShaded_AllSelected.png new file mode 100644 index 0000000000..3cfec46d4d Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_WireOnShaded_AllSelected.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_Wire_AllSelInStorm.png b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_Wire_AllSelInStorm.png new file mode 100644 index 0000000000..2c16251f4c Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_Wire_AllSelInStorm.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_Wireframe_AllSelected.png b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_Wireframe_AllSelected.png new file mode 100644 index 0000000000..c90ffbda11 Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/Storm_Wireframe_AllSelected.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/VP2_AllSelected.png b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/VP2_AllSelected.png new file mode 100644 index 0000000000..680cef074b Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/DataProducerSelHighlightTest/VP2_AllSelected.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/BBox_DisplayModeOn.png b/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/BBox_DisplayModeOn.png deleted file mode 100644 index 2afb5f682f..0000000000 Binary files a/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/BBox_DisplayModeOn.png and /dev/null differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/BBox_sceneLoaded.png b/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/BBox_sceneLoaded.png deleted file mode 100644 index 9680916200..0000000000 Binary files a/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/BBox_sceneLoaded.png and /dev/null differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/allData_BBox.png b/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/allData_BBox.png new file mode 100644 index 0000000000..bdc328d093 Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/allData_BBox.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/allData_Wireframe.png b/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/allData_Wireframe.png new file mode 100644 index 0000000000..bf2fff9d1a Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/allData_Wireframe.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/allData_WireframeOnShaded.png b/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/allData_WireframeOnShaded.png new file mode 100644 index 0000000000..cc6753d14e Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/allData_WireframeOnShaded.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/defaultDisplayModeFromScene.png b/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/defaultDisplayModeFromScene.png new file mode 100644 index 0000000000..fc7a67655b Binary files /dev/null and b/test/lib/mayaUsd/render/mayaToHydra/MayaDisplayModesTest/defaultDisplayModeFromScene.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaShadingModesTest/boundingBox.png b/test/lib/mayaUsd/render/mayaToHydra/MayaShadingModesTest/boundingBox.png index 28b98e4cf2..e52cb9195b 100644 Binary files a/test/lib/mayaUsd/render/mayaToHydra/MayaShadingModesTest/boundingBox.png and b/test/lib/mayaUsd/render/mayaToHydra/MayaShadingModesTest/boundingBox.png differ diff --git a/test/lib/mayaUsd/render/mayaToHydra/testDataProducerSelHighlight.py b/test/lib/mayaUsd/render/mayaToHydra/testDataProducerSelHighlight.py new file mode 100644 index 0000000000..6891d555a7 --- /dev/null +++ b/test/lib/mayaUsd/render/mayaToHydra/testDataProducerSelHighlight.py @@ -0,0 +1,155 @@ +# +# Copyright 2024 Autodesk, Inc. All rights reserved. +# +# 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. +# + +import maya.cmds as cmds +import fixturesUtils +import mtohUtils +import mayaUtils +import ufe +import platform + +class TestDataProducerSelectionHighlighting(mtohUtils.MayaHydraBaseTestCase): #Subclassing mtohUtils.MayaHydraBaseTestCase to be able to call self.assertSnapshotClose + # MayaHydraBaseTestCase.setUpClass requirement. + _file = __file__ + + pSphere1UfeItem = None + pSphere2UfeItem = None + pTorusUfeItem = None + pPlaneUfeItem = None + + IMAGE_DIFF_FAIL_THRESHOLD = 0.1 + @property + def IMAGE_DIFF_FAIL_PERCENT(self): + if platform.system() == "Darwin": + return 3 + return 0.2 + + def loadFileAndInitUfeVariables(self): + import usdUtils # usdUtils imports mayaUsd.ufe + from mayaUsd import lib as mayaUsdLib + + testFile = mayaUtils.openTestScene( + "testWireframeSelectionHighlight", + "testSelectionHighlightMayaUsd.ma") + + shapeNode = "sample_usdShape" + shapeStage = mayaUsdLib.GetPrim(shapeNode).GetStage() + + #define ufe items + sphere1Prim = shapeStage.GetPrimAtPath('/sample_usdShape/pSphere1') + self.assertIsNotNone(sphere1Prim) + sphere2Prim = shapeStage.GetPrimAtPath('/sample_usdShape/pSphere2') + self.assertIsNotNone(sphere2Prim) + torusPrim = shapeStage.GetPrimAtPath('/sample_usdShape/pTorus1') + self.assertIsNotNone(torusPrim) + planePrim = shapeStage.GetPrimAtPath('/sample_usdShape/pPlane1') + self.assertIsNotNone(planePrim) + + ufeSegment = mayaUtils.createUfePathSegment("|sample_usd|sample_usdShape") + + #Sphere1 + pSphere1UfePath = ufe.Path([ufeSegment, usdUtils.createUfePathSegment("/pSphere1")]) + self.pSphere1UfeItem = ufe.Hierarchy.createItem(pSphere1UfePath) + self.assertIsNotNone(self.pSphere1UfeItem) + + #Sphere2 + pSphere2UfePath = ufe.Path([ufeSegment, usdUtils.createUfePathSegment("/pSphere2")]) + self.pSphere2UfeItem = ufe.Hierarchy.createItem(pSphere2UfePath) + self.assertIsNotNone(self.pSphere2UfeItem) + + #Torus + pTorusUfePath = ufe.Path([ufeSegment, usdUtils.createUfePathSegment("/pTorus1")]) + self.pTorusUfeItem = ufe.Hierarchy.createItem(pTorusUfePath) + self.assertIsNotNone(self.pTorusUfeItem) + + #Plane + pPlaneUfePath = ufe.Path([ufeSegment, usdUtils.createUfePathSegment("/pPlane1")]) + self.pPlaneUfeItem = ufe.Hierarchy.createItem(pPlaneUfePath) + self.assertIsNotNone(self.pPlaneUfeItem) + + + def test_UsdKeepSelectionHighlighting(self): + + self.loadFileAndInitUfeVariables() + + #Set VP2 as the current renderer + self.setViewport2Renderer() + #Remove anti-aliasing + cmds.setAttr("hardwareRenderingGlobals.multiSampleEnable", False) + cmds.refresh() + + #Select the Usd prims to see the selection highlight and their colors respecting the lead object + ufeGlobalSel = ufe.GlobalSelection.get() + ufeGlobalSel.clear() + ufeGlobalSel.append(self.pSphere1UfeItem) + ufeGlobalSel.append(self.pSphere2UfeItem) + ufeGlobalSel.append(self.pTorusUfeItem) + ufeGlobalSel.append(self.pPlaneUfeItem) + self.assertSnapshotClose("VP2_AllSelected.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + #Switch to Storm, we should keep the selected items and their color + self.setHdStormRenderer() + self.assertSnapshotClose("Storm_AllSelected.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + #Switch to wireframe display mode, we should keep the selected items and their color + panel = mayaUtils.activeModelPanel() + cmds.modelEditor(panel, edit=True, displayAppearance="wireframe") + self.assertSnapshotClose("Storm_Wireframe_AllSelected.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + #Switch to bounding box display mode, we should keep the selected items and their color + cmds.modelEditor(panel, edit=True, displayAppearance="boundingBox") + self.assertSnapshotClose("Storm_BoundingBox_AllSelected.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + #Switch to wireframe on shaded display mode, we should keep the selected items and their color + cmds.modelEditor(panel, edit=True, displayAppearance="smoothShaded") + cmds.modelEditor(panel, edit=True, wireframeOnShaded=True) + self.assertSnapshotClose("Storm_WireOnShaded_AllSelected.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + def test_LeadAndActiveColorsSelectionHighlighting(self): + + self.loadFileAndInitUfeVariables() + + #Switch to HdStorm + self.setHdStormRenderer() + cmds.refresh() + + #select objects to check if the lead / active selection highlight colors work + ufeGlobalSel = ufe.GlobalSelection.get() + ufeGlobalSel.clear() + ufeGlobalSel.append(self.pSphere1UfeItem) + self.assertSnapshotClose("Storm_S1Selected.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + ufeGlobalSel.append(self.pSphere2UfeItem) + self.assertSnapshotClose("Storm_S1And2Selected.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + ufeGlobalSel.append(self.pTorusUfeItem) + self.assertSnapshotClose("Storm_S1And2AndTSelected.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + ufeGlobalSel.append(self.pPlaneUfeItem) + self.assertSnapshotClose("Storm_S1And2AndTAndPSelected.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + #Switch to wireframe display mode, we should keep the selected items and their color + panel = mayaUtils.activeModelPanel() + cmds.modelEditor(panel, edit=True, displayAppearance="wireframe") + self.assertSnapshotClose("Storm_Wire_AllSelInStorm.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + #Remove the lead object + ufeGlobalSel.remove(self.pPlaneUfeItem) + self.assertSnapshotClose("Storm_S1And2AndTSelectedPRemoved.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + #Remove a non lead object + ufeGlobalSel.remove(self.pSphere1UfeItem) + self.assertSnapshotClose("Storm_S2AndTSelPAndS1Removed.png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + +if __name__ == '__main__': + fixturesUtils.runTests(globals()) diff --git a/test/lib/mayaUsd/render/mayaToHydra/testMayaDisplayModes.py b/test/lib/mayaUsd/render/mayaToHydra/testMayaDisplayModes.py index 72c8baced8..c83d6d3834 100644 --- a/test/lib/mayaUsd/render/mayaToHydra/testMayaDisplayModes.py +++ b/test/lib/mayaUsd/render/mayaToHydra/testMayaDisplayModes.py @@ -86,17 +86,35 @@ def test_MayaDisplayModes(self): self.assertSnapshotClose("displayTextures" + ".png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) cmds.modelEditor(panel, edit=True, displayTextures=False) - def test_MayaBoundingBoxDisplayMode(self): + def test_MayaDisplayModesOnAllKindOfData(self): with PluginLoaded('mayaHydraFlowViewportAPILocator'): # open a Maya scene that contains USD prims, custom flow viewport data producer prims and maya native prims testFile = mayaUtils.openTestScene( "testMayaDisplayModes", - "testMayaBoundingBoxDisplayMode.ma") + "testMayaDisplayModes_Native+Usd+dataProducer.ma") cmds.refresh() - self.assertSnapshotClose("BBox_sceneLoaded" + ".png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + self.assertSnapshotClose("defaultDisplayModeFromScene" + ".png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + panel = mayaUtils.activeModelPanel() + + #Bounding box cmds.modelEditor(panel, edit=True, displayAppearance="boundingBox") - self.assertSnapshotClose("BBox_DisplayModeOn" + ".png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + self.assertSnapshotClose("allData_BBox" + ".png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + cmds.modelEditor(panel, edit=True, displayAppearance="smoothShaded") + self.assertSnapshotClose("defaultDisplayModeFromScene" + ".png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + #Wireframe + cmds.modelEditor(panel, edit=True, displayAppearance="wireframe") + self.assertSnapshotClose("allData_Wireframe" + ".png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + cmds.modelEditor(panel, edit=True, displayAppearance="smoothShaded") + self.assertSnapshotClose("defaultDisplayModeFromScene" + ".png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + + #Wire on shaded + cmds.modelEditor(panel, edit=True, wireframeOnShaded=True) + self.assertSnapshotClose("allData_WireframeOnShaded" + ".png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) + cmds.modelEditor(panel, edit=True, wireframeOnShaded=False) + self.assertSnapshotClose("defaultDisplayModeFromScene" + ".png", self.IMAGE_DIFF_FAIL_THRESHOLD, self.IMAGE_DIFF_FAIL_PERCENT) if __name__ == '__main__': fixturesUtils.runTests(globals()) diff --git a/test/lib/mayaUsd/render/mayaToHydra/testStageVariants.py b/test/lib/mayaUsd/render/mayaToHydra/testStageVariants.py index 15ef9999d2..92bbecc299 100644 --- a/test/lib/mayaUsd/render/mayaToHydra/testStageVariants.py +++ b/test/lib/mayaUsd/render/mayaToHydra/testStageVariants.py @@ -28,11 +28,9 @@ class TestStageVariants(mtohUtils.MayaHydraBaseTestCase): #Subclassing mtohUtils IMAGE_DIFF_FAIL_PERCENT = 0.3 def test_UsdStageVariants(self): - import usdUtils + import usdUtils # usdUtils imports mayaUsd.ufe from mayaUsd import lib as mayaUsdLib - # usdUtils imports mayaUsd.ufe - import usdUtils - + testFile = mayaUtils.openTestScene( "testStageVariants", "testStageVariants.ma") diff --git a/test/testSamples/testMayaDisplayModes/testMayaBoundingBoxDisplayMode.ma b/test/testSamples/testMayaDisplayModes/testMayaBoundingBoxDisplayMode.ma deleted file mode 100644 index 13e0ac997f..0000000000 --- a/test/testSamples/testMayaDisplayModes/testMayaBoundingBoxDisplayMode.ma +++ /dev/null @@ -1,261 +0,0 @@ -//Maya ASCII 2026ff01 scene -//Name: testMayaBoundingBoxDisplayMode.ma -//Last modified: Mon, Mar 18, 2024 11:00:13 AM -//Codeset: 1252 -requires maya "2026ff01"; -requires -nodeType "MhFlowViewportAPILocator" "mayaHydraFlowViewportAPILocator" "1.0"; -requires -nodeType "mayaUsdLayerManager" -nodeType "mayaUsdProxyShape" -dataType "pxrUsdStageData" - "mayaUsdPlugin" "0.28.0"; -currentUnit -l centimeter -a degree -t film; -fileInfo "application" "maya"; -fileInfo "product" "Maya 2025"; -fileInfo "version" "Preview Release 153"; -fileInfo "cutIdentifier" "202402011613-000000"; -fileInfo "osv" "Windows 10 Enterprise v2009 (Build: 19045)"; -fileInfo "UUID" "ED6C0312-49EA-500C-D937-CEA7914F7ABB"; -createNode transform -s -n "persp"; - rename -uid "98BBD4D0-45E7-602F-CA70-D0A7CCEF5888"; - setAttr ".v" no; - setAttr ".t" -type "double3" 6.5067933277154451 17.465555956507171 52.211780655828086 ; - setAttr ".r" -type "double3" -11.738352729602779 0.19999999999994317 1.5530146770552269e-17 ; -createNode camera -s -n "perspShape" -p "persp"; - rename -uid "9AEC7F55-4607-DAF0-2CF1-BCA7C67441D6"; - setAttr -k off ".v" no; - setAttr ".fl" 34.999999999999993; - setAttr ".coi" 55.565217327470478; - setAttr ".imn" -type "string" "persp"; - setAttr ".den" -type "string" "persp_depth"; - setAttr ".man" -type "string" "persp_mask"; - setAttr ".hc" -type "string" "viewSet -p %camera"; -createNode transform -s -n "top"; - rename -uid "85241983-4309-B1AE-1D36-E99D34ACE39B"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 1000.1 0 ; - setAttr ".r" -type "double3" -90 0 0 ; -createNode camera -s -n "topShape" -p "top"; - rename -uid "7E889113-42D3-7476-BC90-5BBA850AEB36"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 1000.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "top"; - setAttr ".den" -type "string" "top_depth"; - setAttr ".man" -type "string" "top_mask"; - setAttr ".hc" -type "string" "viewSet -t %camera"; - setAttr ".o" yes; -createNode transform -s -n "front"; - rename -uid "B1091544-4663-35B0-19C8-19B001B67F59"; - setAttr ".v" no; - setAttr ".t" -type "double3" 0 0 1000.1 ; -createNode camera -s -n "frontShape" -p "front"; - rename -uid "A377D7EB-409A-B25D-9726-A888F7F5AA1C"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 1000.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "front"; - setAttr ".den" -type "string" "front_depth"; - setAttr ".man" -type "string" "front_mask"; - setAttr ".hc" -type "string" "viewSet -f %camera"; - setAttr ".o" yes; -createNode transform -s -n "side"; - rename -uid "B8465080-43E9-3CA4-0C25-5B9A0F32CCBD"; - setAttr ".v" no; - setAttr ".t" -type "double3" 1000.1 0 0 ; - setAttr ".r" -type "double3" 0 90 0 ; -createNode camera -s -n "sideShape" -p "side"; - rename -uid "358DB099-46B0-5821-1E7B-7BAC74555633"; - setAttr -k off ".v" no; - setAttr ".rnd" no; - setAttr ".coi" 1000.1; - setAttr ".ow" 30; - setAttr ".imn" -type "string" "side"; - setAttr ".den" -type "string" "side_depth"; - setAttr ".man" -type "string" "side_mask"; - setAttr ".hc" -type "string" "viewSet -s %camera"; - setAttr ".o" yes; -createNode transform -n "pSphere1"; - rename -uid "C17CAB5B-436C-4851-0943-DF9457FFAC34"; - setAttr ".t" -type "double3" -11.877593371584959 0 0 ; -createNode mesh -n "pSphereShape1" -p "pSphere1"; - rename -uid "32D294FD-4373-44CA-910E-AC99A7289634"; - setAttr -k off ".v"; - setAttr ".vir" yes; - setAttr ".vif" yes; - setAttr ".uvst[0].uvsn" -type "string" "map1"; - setAttr ".cuvs" -type "string" "map1"; - setAttr ".dcc" -type "string" "Ambient+Diffuse"; - setAttr ".covm[0]" 0 1 1; - setAttr ".cdvm[0]" 0 1 1; -createNode transform -n "transform1"; - rename -uid "6E585B41-4930-5A03-4BFD-1B821FD36A85"; - setAttr ".t" -type "double3" 7.5410252012465815 0 0 ; -createNode MhFlowViewportAPILocator -n "MhFlowViewportAPILocator1" -p "transform1"; - rename -uid "ABF303C0-4B6D-CB4C-07DF-29B97DD9A4F1"; - setAttr -k off ".v"; - setAttr ".nX" 5; - setAttr ".nY" 5; -createNode transform -n "PoolBallFlat_animated"; - rename -uid "898DCC0E-420C-236C-0CAA-9EBA9D62A2B9"; - setAttr ".t" -type "double3" -2.5669427594392582 8.5012673236135505 0 ; -createNode mayaUsdProxyShape -n "PoolBallFlat_animatedShape" -p "PoolBallFlat_animated"; - rename -uid "9A85FC59-4E72-0B2C-0382-A7BBCCB76BAA"; - addAttr -r false -ci true -h true -sn "forceCompute" -ln "forceCompute" -min 0 - -max 1 -at "bool"; - addAttr -ci true -h true -sn "usdStageLoadRules" -ln "usdStageLoadRules" -dt "string"; - addAttr -ci true -h true -sn "usdStageTargetLayer" -ln "usdStageTargetLayer" -dt "string"; - setAttr -k off ".v"; - setAttr ".covm[0]" 0 1 1; - setAttr ".cdvm[0]" 0 1 1; - setAttr ".fp" -type "string" "./PoolBallFlat_animated.usdz"; - setAttr ".pp" -type "string" ""; - setAttr ".epp" -type "string" ""; - setAttr ".forceCompute" yes; - setAttr ".usdStageLoadRules" -type "string" "/=all"; - setAttr ".usdStageTargetLayer" -type "string" "./PoolBallFlat_animated.usdz"; -createNode lightLinker -s -n "lightLinker1"; - rename -uid "613D123A-46C9-CC8A-6BFF-CFA72190B6B6"; - setAttr -s 2 ".lnk"; - setAttr -s 2 ".slnk"; -createNode shapeEditorManager -n "shapeEditorManager"; - rename -uid "D1D4DEAD-4D8B-570B-D1D7-9BAE42DC9916"; -createNode poseInterpolatorManager -n "poseInterpolatorManager"; - rename -uid "D80A58F9-43BC-1A90-AEE7-188B87150EAB"; -createNode displayLayerManager -n "layerManager"; - rename -uid "BAA41BAA-4F59-E70E-379F-24A75BF32EFE"; -createNode displayLayer -n "defaultLayer"; - rename -uid "C9643CDB-429E-C421-428C-F7B2DD51EA48"; - setAttr ".ufem" -type "stringArray" 0 ; -createNode renderLayerManager -n "renderLayerManager"; - rename -uid "EE61C763-4B9B-E94F-D3AD-1F8F7974BA29"; -createNode renderLayer -n "defaultRenderLayer"; - rename -uid "D7949EF2-48B5-318A-E11E-14BE6014CF03"; - setAttr ".g" yes; -createNode polySphere -n "polySphere1"; - rename -uid "6EBD0C74-42D3-0590-BD3A-7E9D874E5A84"; -createNode mayaUsdLayerManager -n "mayaUsdLayerManager1"; - rename -uid "E1087EF7-4C6E-D52A-0998-1D820840382B"; - setAttr ".sst" -type "string" ""; -createNode script -n "uiConfigurationScriptNode"; - rename -uid "2E12A3EC-451B-E657-D71E-ACB3F2A39000"; - setAttr ".b" -type "string" ( - "// Maya Mel UI Configuration File.\n//\n// This script is machine generated. Edit at your own risk.\n//\n//\n\nglobal string $gMainPane;\nif (`paneLayout -exists $gMainPane`) {\n\n\tglobal int $gUseScenePanelConfig;\n\tint $useSceneConfig = $gUseScenePanelConfig;\n\tint $nodeEditorPanelVisible = stringArrayContains(\"nodeEditorPanel1\", `getPanel -vis`);\n\tint $nodeEditorWorkspaceControlOpen = (`workspaceControl -exists nodeEditorPanel1Window` && `workspaceControl -q -visible nodeEditorPanel1Window`);\n\tint $menusOkayInPanels = `optionVar -q allowMenusInPanels`;\n\tint $nVisPanes = `paneLayout -q -nvp $gMainPane`;\n\tint $nPanes = 0;\n\tstring $editorName;\n\tstring $panelName;\n\tstring $itemFilterName;\n\tstring $panelConfig;\n\n\t//\n\t// get current state of the UI\n\t//\n\tsceneUIReplacement -update $gMainPane;\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Top View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"|top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n" - + " -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n" - + " -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Side View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"|side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n" - + " -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n" - + " -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n" - + " -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Front View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"|front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n" - + " -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n" - + " -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n" - + " -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Persp View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n" - + " -camera \"|persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n" - + " -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -rendererOverrideName \"mayaHydraRenderOverride_HdStormRendererPlugin\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n" - + " -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1117\n -height 714\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n" - + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"ToggledOutliner\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"ToggledOutliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -docTag \"isolOutln_fromSeln\" \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 1\n -showReferenceMembers 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n" - + " -showParentContainers 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n" - + " -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -selectCommand \"print(\\\"\\\")\" \n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n" - + " -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n" - + " -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n" - + " -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 1\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n" - + " -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayValues 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showPlayRangeShades \"on\" \n -lockPlayRangeShades \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -showUpstreamCurves 1\n -keyMinScale 1\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -preSelectionHighlight 1\n -limitToSelectedCurves 0\n -constrainDrag 0\n -valueLinesToggle 0\n -highlightAffectedCurves 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n" - + "\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n" - + " -showUpstreamCurves 1\n -showUnitlessCurves 0\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n" - + " -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayValues 0\n -snapTime \"none\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -hierarchyBelow 0\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"timeEditorPanel\" (localizedPanelLabel(\"Time Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Time Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n" - + "\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"clipEditorPanel\" (localizedPanelLabel(\"Trax Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayValues 0\n -snapTime \"none\" \n -snapValue \"none\" \n -initialized 0\n -manageSequencer 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"sequenceEditorPanel\" (localizedPanelLabel(\"Camera Sequencer\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Camera Sequencer\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = sequenceEditorNameFromPanel($panelName);\n clipEditor -e \n -displayValues 0\n" - + " -snapTime \"none\" \n -snapValue \"none\" \n -initialized 0\n -manageSequencer 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperGraphPanel\" (localizedPanelLabel(\"Hypergraph Hierarchy\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -mergeConnections 0\n -zoom 1\n -animateTransition 0\n -showRelationships 1\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showConnectionFromSelected 0\n -showConnectionToSelected 0\n" - + " -showConstraintLabels 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -opaqueContainers 0\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -heatMapDisplay 0\n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -range 0 0 \n -iconSize \"smallIcons\" \n -showCachedConnections 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperShadePanel\" (localizedPanelLabel(\"Hypershade\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n" - + "\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"visorPanel\" (localizedPanelLabel(\"Visor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"nodeEditorPanel\" (localizedPanelLabel(\"Node Editor\")) `;\n\tif ($nodeEditorPanelVisible || $nodeEditorWorkspaceControlOpen) {\n\t\tif (\"\" == $panelName) {\n\t\t\tif ($useSceneConfig) {\n\t\t\t\t$panelName = `scriptedPanel -unParent -type \"nodeEditorPanel\" -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -connectNodeOnCreation 0\n" - + " -connectOnDrop 0\n -copyConnectionsOnPaste 0\n -connectionStyle \"bezier\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -connectedGraphingMode 1\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n -crosshairOnEdgeDragging 0\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -showUnitConversions 0\n -editorMode \"default\" \n -hasWatchpoint 0\n $editorName;\n\t\t\t}\n\t\t} else {\n\t\t\t$label = `panel -q -label $panelName`;\n" - + "\t\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -connectNodeOnCreation 0\n -connectOnDrop 0\n -copyConnectionsOnPaste 0\n -connectionStyle \"bezier\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -connectedGraphingMode 1\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n -crosshairOnEdgeDragging 0\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n" - + " -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -showUnitConversions 0\n -editorMode \"default\" \n -hasWatchpoint 0\n $editorName;\n\t\t\tif (!$useSceneConfig) {\n\t\t\t\tpanel -e -l $label $panelName;\n\t\t\t}\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"createNodePanel\" (localizedPanelLabel(\"Create Node\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Create Node\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"polyTexturePlacementPanel\" (localizedPanelLabel(\"UV Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"UV Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"renderWindowPanel\" (localizedPanelLabel(\"Render View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"shapePanel\" (localizedPanelLabel(\"Shape Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tshapePanel -edit -l (localizedPanelLabel(\"Shape Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"posePanel\" (localizedPanelLabel(\"Pose Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tposePanel -edit -l (localizedPanelLabel(\"Pose Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n" - + "\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynRelEdPanel\" (localizedPanelLabel(\"Dynamic Relationships\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"relationshipPanel\" (localizedPanelLabel(\"Relationship Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"referenceEditorPanel\" (localizedPanelLabel(\"Reference Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynPaintScriptedPanelType\" (localizedPanelLabel(\"Paint Effects\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"scriptEditorPanel\" (localizedPanelLabel(\"Script Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"profilerPanel\" (localizedPanelLabel(\"Profiler Tool\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Profiler Tool\")) -mbv $menusOkayInPanels $panelName;\n" - + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"contentBrowserPanel\" (localizedPanelLabel(\"Content Browser\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Content Browser\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n\t\t\t\t-userCreated false\n\t\t\t\t-defaultImage \"vacantCell.xP:/\"\n\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"single\\\" -ps 1 100 100 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n" - + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -rendererOverrideName \\\"mayaHydraRenderOverride_HdStormRendererPlugin\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -controllers 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -bluePencil 1\\n -greasePencils 0\\n -excludeObjectPreset \\\"All\\\" \\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1117\\n -height 714\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" - + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -rendererOverrideName \\\"mayaHydraRenderOverride_HdStormRendererPlugin\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -controllers 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -bluePencil 1\\n -greasePencils 0\\n -excludeObjectPreset \\\"All\\\" \\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1117\\n -height 714\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" - + "\t\t\t\t$configName;\n\n setNamedPanelLayout (localizedPanelLabel(\"Current Layout\"));\n }\n\n panelHistory -e -clear mainPanelHistory;\n sceneUIReplacement -clear;\n\t}\n\n\ngrid -spacing 5 -size 12 -divisions 5 -displayAxes yes -displayGridLines yes -displayDivisionLines yes -displayPerspectiveLabels no -displayOrthographicLabels no -displayAxesBold yes -perspectiveLabelPosition axis -orthographicLabelPosition edge;\nviewManip -drawCompass 0 -compassAngle 0 -frontParameters \"\" -homeParameters \"\" -selectionLockParameters \"\";\n}\n"); - setAttr ".st" 3; -createNode script -n "sceneConfigurationScriptNode"; - rename -uid "044ABA95-498B-5771-9098-C089DFC9EEA2"; - setAttr ".b" -type "string" "playbackOptions -min 1 -max 120 -ast 1 -aet 200 "; - setAttr ".st" 6; -select -ne :time1; - setAttr ".o" 1; - setAttr ".unw" 1; -select -ne :hardwareRenderingGlobals; - setAttr ".otfna" -type "stringArray" 22 "NURBS Curves" "NURBS Surfaces" "Polygons" "Subdiv Surface" "Particles" "Particle Instance" "Fluids" "Strokes" "Image Planes" "UI" "Lights" "Cameras" "Locators" "Joints" "IK Handles" "Deformers" "Motion Trails" "Components" "Hair Systems" "Follicles" "Misc. UI" "Ornaments" ; - setAttr ".otfva" -type "Int32Array" 22 0 1 1 1 1 1 - 1 1 1 0 0 0 0 0 0 0 0 0 - 0 0 0 0 ; - setAttr ".fprt" yes; - setAttr ".rtfm" 1; -select -ne :renderPartition; - setAttr -s 2 ".st"; -select -ne :renderGlobalsList1; -select -ne :defaultShaderList1; - setAttr -s 5 ".s"; -select -ne :postProcessList1; - setAttr -s 2 ".p"; -select -ne :defaultRenderingList1; -select -ne :standardSurface1; - setAttr ".bc" -type "float3" 0.40000001 0.40000001 0.40000001 ; - setAttr ".sr" 0.5; -select -ne :initialShadingGroup; - setAttr ".ro" yes; -select -ne :initialParticleSE; - setAttr ".ro" yes; -select -ne :defaultRenderGlobals; - addAttr -ci true -sn "mtohMotionSampleStart" -ln "mtohMotionSampleStart" -at "float"; - addAttr -ci true -sn "mtohMotionSampleEnd" -ln "mtohMotionSampleEnd" -at "float"; - addAttr -ci true -sn "mayaHydraRenderPurpose" -ln "mayaHydraRenderPurpose" -min - 0 -max 1 -at "bool"; - addAttr -ci true -sn "mayaHydraProxyPurpose" -ln "mayaHydraProxyPurpose" -dv 1 -min - 0 -max 1 -at "bool"; - addAttr -ci true -sn "mayaHydraGuidePurpose" -ln "mayaHydraGuidePurpose" -min 0 - -max 1 -at "bool"; - addAttr -ci true -sn "mtohTextureMemoryPerTexture" -ln "mtohTextureMemoryPerTexture" - -dv 4096 -min 1 -max 262144 -smn 16384 -at "long"; - addAttr -ci true -sn "mtohMaximumShadowMapResolution" -ln "mtohMaximumShadowMapResolution" - -dv 2048 -min 32 -max 8192 -at "long"; - addAttr -ci true -sn "HdStormRendererPlugin__enableTinyPrimCulling" -ln "HdStormRendererPlugin__enableTinyPrimCulling" - -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "HdStormRendererPlugin__volumeRaymarchingStepSize" -ln "HdStormRendererPlugin__volumeRaymarchingStepSize" - -dv 1 -at "float"; - addAttr -ci true -sn "HdStormRendererPlugin__volumeRaymarchingStepSizeLighting" - -ln "HdStormRendererPlugin__volumeRaymarchingStepSizeLighting" -dv 10 -at "float"; - addAttr -ci true -sn "HdStormRendererPlugin__volumeMaxTextureMemoryPerField" -ln "HdStormRendererPlugin__volumeMaxTextureMemoryPerField" - -dv 128 -at "float"; - addAttr -ci true -sn "HdStormRendererPlugin__maxLights" -ln "HdStormRendererPlugin__maxLights" - -dv 16 -at "long"; - addAttr -ci true -h true -sn "dss" -ln "defaultSurfaceShader" -dt "string"; - setAttr ".ren" -type "string" "arnold"; - setAttr ".dss" -type "string" "standardSurface1"; -select -ne :defaultResolution; - setAttr ".pa" 1; -select -ne :defaultColorMgtGlobals; - setAttr ".cfe" yes; - setAttr ".cfp" -type "string" "/OCIO-configs/Maya2022-default/config.ocio"; - setAttr ".vtn" -type "string" "ACES 1.0 SDR-video (sRGB)"; - setAttr ".vn" -type "string" "ACES 1.0 SDR-video"; - setAttr ".dn" -type "string" "sRGB"; - setAttr ".wsn" -type "string" "ACEScg"; - setAttr ".otn" -type "string" "ACES 1.0 SDR-video (sRGB)"; - setAttr ".potn" -type "string" "ACES 1.0 SDR-video (sRGB)"; -select -ne :hardwareRenderGlobals; - setAttr ".ctrs" 256; - setAttr ".btrs" 512; -connectAttr "polySphere1.out" "pSphereShape1.i"; -connectAttr ":time1.o" "PoolBallFlat_animatedShape.tm"; -relationship "link" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; -relationship "link" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; -relationship "shadowLink" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; -relationship "shadowLink" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; -connectAttr "layerManager.dli[0]" "defaultLayer.id"; -connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr "defaultRenderLayer.msg" ":defaultRenderingList1.r" -na; -connectAttr "pSphereShape1.iog" ":initialShadingGroup.dsm" -na; -// End of testMayaBoundingBoxDisplayMode.ma diff --git a/test/testSamples/testMayaDisplayModes/testMayaDisplayModes_Native+Usd+dataProducer.ma b/test/testSamples/testMayaDisplayModes/testMayaDisplayModes_Native+Usd+dataProducer.ma new file mode 100644 index 0000000000..e1c066be15 --- /dev/null +++ b/test/testSamples/testMayaDisplayModes/testMayaDisplayModes_Native+Usd+dataProducer.ma @@ -0,0 +1,282 @@ +//Maya ASCII 2026ff01 scene +//Name: testMayaDisplayModes_Native+Usd+dataProducer.ma +//Last modified: Tue, Apr 09, 2024 05:32:52 PM +//Codeset: 1252 +requires maya "2026ff01"; +requires -nodeType "MhFlowViewportAPILocator" "mayaHydraFlowViewportAPILocator" "1.0"; +requires -nodeType "aiOptions" -nodeType "aiAOVDriver" -nodeType "aiAOVFilter" "mtoa" "5.4.0"; +requires -nodeType "mayaUsdLayerManager" -nodeType "mayaUsdProxyShape" -dataType "pxrUsdStageData" + "mayaUsdPlugin" "0.28.0"; +currentUnit -l centimeter -a degree -t film; +fileInfo "application" "maya"; +fileInfo "product" "Maya 2025"; +fileInfo "version" "Preview Release 153"; +fileInfo "cutIdentifier" "202402011613-000000"; +fileInfo "osv" "Windows 10 Enterprise v2009 (Build: 19045)"; +fileInfo "UUID" "301BF443-4F70-4379-B120-7AB04D2A3948"; +createNode transform -s -n "persp"; + rename -uid "98BBD4D0-45E7-602F-CA70-D0A7CCEF5888"; + setAttr ".v" no; + setAttr ".t" -type "double3" 6.5067933277154477 17.465555956507359 52.211780655828974 ; + setAttr ".r" -type "double3" -11.738352729602779 0.19999999999994317 1.5530146770552269e-17 ; +createNode camera -s -n "perspShape" -p "persp"; + rename -uid "9AEC7F55-4607-DAF0-2CF1-BCA7C67441D6"; + setAttr -k off ".v" no; + setAttr ".fl" 34.999999999999993; + setAttr ".coi" 55.565217327471366; + setAttr ".imn" -type "string" "persp"; + setAttr ".den" -type "string" "persp_depth"; + setAttr ".man" -type "string" "persp_mask"; + setAttr ".hc" -type "string" "viewSet -p %camera"; +createNode transform -s -n "top"; + rename -uid "85241983-4309-B1AE-1D36-E99D34ACE39B"; + setAttr ".v" no; + setAttr ".t" -type "double3" 0 1000.1 0 ; + setAttr ".r" -type "double3" -90 0 0 ; +createNode camera -s -n "topShape" -p "top"; + rename -uid "7E889113-42D3-7476-BC90-5BBA850AEB36"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 1000.1; + setAttr ".ow" 30; + setAttr ".imn" -type "string" "top"; + setAttr ".den" -type "string" "top_depth"; + setAttr ".man" -type "string" "top_mask"; + setAttr ".hc" -type "string" "viewSet -t %camera"; + setAttr ".o" yes; +createNode transform -s -n "front"; + rename -uid "B1091544-4663-35B0-19C8-19B001B67F59"; + setAttr ".v" no; + setAttr ".t" -type "double3" 0 0 1000.1 ; +createNode camera -s -n "frontShape" -p "front"; + rename -uid "A377D7EB-409A-B25D-9726-A888F7F5AA1C"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 1000.1; + setAttr ".ow" 30; + setAttr ".imn" -type "string" "front"; + setAttr ".den" -type "string" "front_depth"; + setAttr ".man" -type "string" "front_mask"; + setAttr ".hc" -type "string" "viewSet -f %camera"; + setAttr ".o" yes; +createNode transform -s -n "side"; + rename -uid "B8465080-43E9-3CA4-0C25-5B9A0F32CCBD"; + setAttr ".v" no; + setAttr ".t" -type "double3" 1000.1 0 0 ; + setAttr ".r" -type "double3" 0 90 0 ; +createNode camera -s -n "sideShape" -p "side"; + rename -uid "358DB099-46B0-5821-1E7B-7BAC74555633"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 1000.1; + setAttr ".ow" 30; + setAttr ".imn" -type "string" "side"; + setAttr ".den" -type "string" "side_depth"; + setAttr ".man" -type "string" "side_mask"; + setAttr ".hc" -type "string" "viewSet -s %camera"; + setAttr ".o" yes; +createNode transform -n "pSphere1"; + rename -uid "C17CAB5B-436C-4851-0943-DF9457FFAC34"; + setAttr ".t" -type "double3" -11.877593371584959 0 0 ; + setAttr ".s" -type "double3" 5 5 5 ; +createNode mesh -n "pSphereShape1" -p "pSphere1"; + rename -uid "32D294FD-4373-44CA-910E-AC99A7289634"; + setAttr -k off ".v"; + setAttr ".vir" yes; + setAttr ".vif" yes; + setAttr ".uvst[0].uvsn" -type "string" "map1"; + setAttr ".cuvs" -type "string" "map1"; + setAttr ".dcc" -type "string" "Ambient+Diffuse"; + setAttr ".covm[0]" 0 1 1; + setAttr ".cdvm[0]" 0 1 1; +createNode transform -n "transform1"; + rename -uid "6E585B41-4930-5A03-4BFD-1B821FD36A85"; + setAttr ".t" -type "double3" 7.5410252012465815 0 0 ; +createNode MhFlowViewportAPILocator -n "MhFlowViewportAPILocator1" -p "transform1"; + rename -uid "ABF303C0-4B6D-CB4C-07DF-29B97DD9A4F1"; + setAttr -k off ".v"; + setAttr ".nX" 5; + setAttr ".nY" 5; + setAttr ".cC" -type "double3" 0 0 0.1 ; +createNode transform -n "PoolBallFlat_animated"; + rename -uid "898DCC0E-420C-236C-0CAA-9EBA9D62A2B9"; + setAttr ".t" -type "double3" -2.5669427594392582 8.5012673236135505 0 ; +createNode mayaUsdProxyShape -n "PoolBallFlat_animatedShape" -p "PoolBallFlat_animated"; + rename -uid "9A85FC59-4E72-0B2C-0382-A7BBCCB76BAA"; + addAttr -r false -ci true -h true -sn "forceCompute" -ln "forceCompute" -min 0 + -max 1 -at "bool"; + addAttr -ci true -h true -sn "usdStageLoadRules" -ln "usdStageLoadRules" -dt "string"; + addAttr -ci true -h true -sn "usdStageTargetLayer" -ln "usdStageTargetLayer" -dt "string"; + setAttr -k off ".v"; + setAttr ".covm[0]" 0 1 1; + setAttr ".cdvm[0]" 0 1 1; + setAttr ".fp" -type "string" "X:/GIT/maya-hydra-opensource/test/testSamples/testMayaDisplayModes/PoolBallFlat_animated.usdz"; + setAttr ".pp" -type "string" ""; + setAttr ".epp" -type "string" ""; + setAttr ".usdStageLoadRules" -type "string" "/=all"; + setAttr ".usdStageTargetLayer" -type "string" "x:/GIT/maya-hydra-opensource/test/testSamples/testMayaDisplayModes/PoolBallFlat_animated.usdz"; +createNode lightLinker -s -n "lightLinker1"; + rename -uid "9C8A08B0-4253-5FFB-B180-29B54F26104E"; + setAttr -s 2 ".lnk"; + setAttr -s 2 ".slnk"; +createNode shapeEditorManager -n "shapeEditorManager"; + rename -uid "1BF9A9C1-443A-A99F-0916-A1AB60DB773E"; +createNode poseInterpolatorManager -n "poseInterpolatorManager"; + rename -uid "B0514279-44B9-126D-F981-F7A66D4201FC"; +createNode displayLayerManager -n "layerManager"; + rename -uid "BE0591E1-48DD-4432-E306-86A3089A7FDF"; +createNode displayLayer -n "defaultLayer"; + rename -uid "C9643CDB-429E-C421-428C-F7B2DD51EA48"; + setAttr ".ufem" -type "stringArray" 0 ; +createNode renderLayerManager -n "renderLayerManager"; + rename -uid "FF7F3C1D-4F97-ECEB-7403-EA9F1D603BDD"; +createNode renderLayer -n "defaultRenderLayer"; + rename -uid "D7949EF2-48B5-318A-E11E-14BE6014CF03"; + setAttr ".g" yes; +createNode polySphere -n "polySphere1"; + rename -uid "6EBD0C74-42D3-0590-BD3A-7E9D874E5A84"; +createNode script -n "uiConfigurationScriptNode"; + rename -uid "2E12A3EC-451B-E657-D71E-ACB3F2A39000"; + setAttr ".b" -type "string" ( + "// Maya Mel UI Configuration File.\n//\n// This script is machine generated. Edit at your own risk.\n//\n//\n\nglobal string $gMainPane;\nif (`paneLayout -exists $gMainPane`) {\n\n\tglobal int $gUseScenePanelConfig;\n\tint $useSceneConfig = $gUseScenePanelConfig;\n\tint $nodeEditorPanelVisible = stringArrayContains(\"nodeEditorPanel1\", `getPanel -vis`);\n\tint $nodeEditorWorkspaceControlOpen = (`workspaceControl -exists nodeEditorPanel1Window` && `workspaceControl -q -visible nodeEditorPanel1Window`);\n\tint $menusOkayInPanels = `optionVar -q allowMenusInPanels`;\n\tint $nVisPanes = `paneLayout -q -nvp $gMainPane`;\n\tint $nPanes = 0;\n\tstring $editorName;\n\tstring $panelName;\n\tstring $itemFilterName;\n\tstring $panelConfig;\n\n\t//\n\t// get current state of the UI\n\t//\n\tsceneUIReplacement -update $gMainPane;\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Top View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels $panelName;\n" + + "\t\t$editorName = $panelName;\n modelEditor -e \n -docTag \"RADRENDER\" \n -camera \"|top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n" + + " -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n" + + " -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n" + + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Side View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -docTag \"RADRENDER\" \n -camera \"|side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n" + + " -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n" + + " -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n" + + " -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Front View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -docTag \"RADRENDER\" \n -camera \"|front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n" + + " -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n" + + " -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n" + + " -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Persp View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n" + + "\t\t$editorName = $panelName;\n modelEditor -e \n -docTag \"RADRENDER\" \n -camera \"|persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n" + + " -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -rendererOverrideName \"mayaHydraRenderOverride_HdStormRendererPlugin\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n" + + " -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1116\n -height 713\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n" + + " modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"ToggledOutliner\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"ToggledOutliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -docTag \"isolOutln_fromSeln\" \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 1\n -showReferenceMembers 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n" + + " -showContainedOnly 1\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n" + + " -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -selectCommand \"print(\\\"\\\")\" \n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAssignedMaterials 0\n" + + " -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n" + + " -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -ufeFilter \"USD\" \"InactivePrims\" -ufeFilterValue 1\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n" + + "\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n" + + " -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n" + + " -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 1\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayValues 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showPlayRangeShades \"on\" \n -lockPlayRangeShades \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -showUpstreamCurves 1\n -keyMinScale 1\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -preSelectionHighlight 1\n -limitToSelectedCurves 0\n -constrainDrag 0\n -valueLinesToggle 0\n" + + " -highlightAffectedCurves 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n" + + " -showContainedOnly 0\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 0\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n" + + " -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayValues 0\n -snapTime \"none\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -hierarchyBelow 0\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"timeEditorPanel\" (localizedPanelLabel(\"Time Editor\")) `;\n" + + "\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Time Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"clipEditorPanel\" (localizedPanelLabel(\"Trax Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayValues 0\n -snapTime \"none\" \n -snapValue \"none\" \n -initialized 0\n -manageSequencer 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"sequenceEditorPanel\" (localizedPanelLabel(\"Camera Sequencer\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n" + + "\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Camera Sequencer\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = sequenceEditorNameFromPanel($panelName);\n clipEditor -e \n -displayValues 0\n -snapTime \"none\" \n -snapValue \"none\" \n -initialized 0\n -manageSequencer 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperGraphPanel\" (localizedPanelLabel(\"Hypergraph Hierarchy\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -mergeConnections 0\n -zoom 1\n -animateTransition 0\n -showRelationships 1\n" + + " -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showConnectionFromSelected 0\n -showConnectionToSelected 0\n -showConstraintLabels 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -opaqueContainers 0\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -heatMapDisplay 0\n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -range 0 0 \n -iconSize \"smallIcons\" \n -showCachedConnections 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperShadePanel\" (localizedPanelLabel(\"Hypershade\")) `;\n" + + "\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"visorPanel\" (localizedPanelLabel(\"Visor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"nodeEditorPanel\" (localizedPanelLabel(\"Node Editor\")) `;\n\tif ($nodeEditorPanelVisible || $nodeEditorWorkspaceControlOpen) {\n\t\tif (\"\" == $panelName) {\n\t\t\tif ($useSceneConfig) {\n\t\t\t\t$panelName = `scriptedPanel -unParent -type \"nodeEditorPanel\" -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n" + + " -allNodes 0\n -autoSizeNodes 1\n -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -connectNodeOnCreation 0\n -connectOnDrop 0\n -copyConnectionsOnPaste 0\n -connectionStyle \"bezier\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -connectedGraphingMode 1\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n -crosshairOnEdgeDragging 0\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n" + + " -showUnitConversions 0\n -editorMode \"default\" \n -hasWatchpoint 0\n $editorName;\n\t\t\t}\n\t\t} else {\n\t\t\t$label = `panel -q -label $panelName`;\n\t\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -connectNodeOnCreation 0\n -connectOnDrop 0\n -copyConnectionsOnPaste 0\n -connectionStyle \"bezier\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -connectedGraphingMode 1\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n" + + " -gridSnap 0\n -gridVisibility 1\n -crosshairOnEdgeDragging 0\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -showUnitConversions 0\n -editorMode \"default\" \n -hasWatchpoint 0\n $editorName;\n\t\t\tif (!$useSceneConfig) {\n\t\t\t\tpanel -e -l $label $panelName;\n\t\t\t}\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"createNodePanel\" (localizedPanelLabel(\"Create Node\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Create Node\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"polyTexturePlacementPanel\" (localizedPanelLabel(\"UV Editor\")) `;\n" + + "\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"UV Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"renderWindowPanel\" (localizedPanelLabel(\"Render View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"shapePanel\" (localizedPanelLabel(\"Shape Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tshapePanel -edit -l (localizedPanelLabel(\"Shape Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"posePanel\" (localizedPanelLabel(\"Pose Editor\")) `;\n\tif (\"\" != $panelName) {\n" + + "\t\t$label = `panel -q -label $panelName`;\n\t\tposePanel -edit -l (localizedPanelLabel(\"Pose Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynRelEdPanel\" (localizedPanelLabel(\"Dynamic Relationships\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"relationshipPanel\" (localizedPanelLabel(\"Relationship Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"referenceEditorPanel\" (localizedPanelLabel(\"Reference Editor\")) `;\n" + + "\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynPaintScriptedPanelType\" (localizedPanelLabel(\"Paint Effects\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"scriptEditorPanel\" (localizedPanelLabel(\"Script Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"profilerPanel\" (localizedPanelLabel(\"Profiler Tool\")) `;\n" + + "\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Profiler Tool\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"contentBrowserPanel\" (localizedPanelLabel(\"Content Browser\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Content Browser\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n\t\t\t\t-userCreated false\n\t\t\t\t-defaultImage \"vacantCell.xP:/\"\n\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"single\\\" -ps 1 100 100 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap false\n" + + "\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n" + + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -docTag \\\"RADRENDER\\\" \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -rendererOverrideName \\\"mayaHydraRenderOverride_HdStormRendererPlugin\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -controllers 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -bluePencil 1\\n -greasePencils 0\\n -excludeObjectPreset \\\"All\\\" \\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1116\\n -height 713\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" + + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -docTag \\\"RADRENDER\\\" \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -rendererOverrideName \\\"mayaHydraRenderOverride_HdStormRendererPlugin\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -controllers 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -bluePencil 1\\n -greasePencils 0\\n -excludeObjectPreset \\\"All\\\" \\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1116\\n -height 713\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" + + "\t\t\t\t$configName;\n\n setNamedPanelLayout (localizedPanelLabel(\"Current Layout\"));\n }\n\n panelHistory -e -clear mainPanelHistory;\n sceneUIReplacement -clear;\n\t}\n\n\ngrid -spacing 5 -size 12 -divisions 5 -displayAxes yes -displayGridLines yes -displayDivisionLines yes -displayPerspectiveLabels no -displayOrthographicLabels no -displayAxesBold yes -perspectiveLabelPosition axis -orthographicLabelPosition edge;\nviewManip -drawCompass 0 -compassAngle 0 -frontParameters \"\" -homeParameters \"\" -selectionLockParameters \"\";\n}\n"); + setAttr ".st" 3; +createNode script -n "sceneConfigurationScriptNode"; + rename -uid "044ABA95-498B-5771-9098-C089DFC9EEA2"; + setAttr ".b" -type "string" "playbackOptions -min 1 -max 120 -ast 1 -aet 200 "; + setAttr ".st" 6; +createNode aiOptions -s -n "defaultArnoldRenderOptions"; + rename -uid "D2D101EB-491E-B9D4-49ED-83BC9D2D4A69"; + setAttr ".version" -type "string" "5.4.0"; +createNode aiAOVFilter -s -n "defaultArnoldFilter"; + rename -uid "35602CCE-4BE7-CC9F-5AB1-8396F35B1B13"; + setAttr ".ai_translator" -type "string" "gaussian"; +createNode aiAOVDriver -s -n "defaultArnoldDriver"; + rename -uid "8E651AEE-4A17-3FF6-9159-68AA75607910"; + setAttr ".ai_translator" -type "string" "exr"; +createNode aiAOVDriver -s -n "defaultArnoldDisplayDriver"; + rename -uid "E7BE371B-4C69-B238-2092-1A92EBB10F8A"; + setAttr ".ai_translator" -type "string" "maya"; + setAttr ".output_mode" 0; +createNode mayaUsdLayerManager -n "mayaUsdLayerManager1"; + rename -uid "717572F4-4B48-27B6-E3B7-1F8565709E36"; +select -ne :time1; + setAttr ".o" 1; + setAttr ".unw" 1; +select -ne :hardwareRenderingGlobals; + setAttr ".otfna" -type "stringArray" 22 "NURBS Curves" "NURBS Surfaces" "Polygons" "Subdiv Surface" "Particles" "Particle Instance" "Fluids" "Strokes" "Image Planes" "UI" "Lights" "Cameras" "Locators" "Joints" "IK Handles" "Deformers" "Motion Trails" "Components" "Hair Systems" "Follicles" "Misc. UI" "Ornaments" ; + setAttr ".otfva" -type "Int32Array" 22 0 1 1 1 1 1 + 1 1 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 ; + setAttr ".fprt" yes; + setAttr ".rtfm" 1; +select -ne :renderPartition; + setAttr -s 2 ".st"; +select -ne :renderGlobalsList1; +select -ne :defaultShaderList1; + setAttr -s 5 ".s"; +select -ne :postProcessList1; + setAttr -s 2 ".p"; +select -ne :defaultRenderingList1; +select -ne :standardSurface1; + setAttr ".bc" -type "float3" 0.40000001 0.40000001 0.40000001 ; + setAttr ".sr" 0.5; +select -ne :initialShadingGroup; + setAttr ".ro" yes; +select -ne :initialParticleSE; + setAttr ".ro" yes; +select -ne :defaultRenderGlobals; + addAttr -ci true -sn "mtohMotionSampleStart" -ln "mtohMotionSampleStart" -at "float"; + addAttr -ci true -sn "mtohMotionSampleEnd" -ln "mtohMotionSampleEnd" -at "float"; + addAttr -ci true -sn "mayaHydraRenderPurpose" -ln "mayaHydraRenderPurpose" -min + 0 -max 1 -at "bool"; + addAttr -ci true -sn "mayaHydraProxyPurpose" -ln "mayaHydraProxyPurpose" -dv 1 -min + 0 -max 1 -at "bool"; + addAttr -ci true -sn "mayaHydraGuidePurpose" -ln "mayaHydraGuidePurpose" -min 0 + -max 1 -at "bool"; + addAttr -ci true -sn "mtohTextureMemoryPerTexture" -ln "mtohTextureMemoryPerTexture" + -dv 4096 -min 1 -max 262144 -smn 16384 -at "long"; + addAttr -ci true -sn "mtohMaximumShadowMapResolution" -ln "mtohMaximumShadowMapResolution" + -dv 2048 -min 32 -max 8192 -at "long"; + addAttr -ci true -sn "HdStormRendererPlugin__enableTinyPrimCulling" -ln "HdStormRendererPlugin__enableTinyPrimCulling" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "HdStormRendererPlugin__volumeRaymarchingStepSize" -ln "HdStormRendererPlugin__volumeRaymarchingStepSize" + -dv 1 -at "float"; + addAttr -ci true -sn "HdStormRendererPlugin__volumeRaymarchingStepSizeLighting" + -ln "HdStormRendererPlugin__volumeRaymarchingStepSizeLighting" -dv 10 -at "float"; + addAttr -ci true -sn "HdStormRendererPlugin__volumeMaxTextureMemoryPerField" -ln "HdStormRendererPlugin__volumeMaxTextureMemoryPerField" + -dv 128 -at "float"; + addAttr -ci true -sn "HdStormRendererPlugin__maxLights" -ln "HdStormRendererPlugin__maxLights" + -dv 16 -at "long"; + addAttr -ci true -h true -sn "dss" -ln "defaultSurfaceShader" -dt "string"; + addAttr -ci true -sn "mayaHydraRefinementLevel" -ln "mayaHydraRefinementLevel" -min + 0 -max 8 -at "long"; + setAttr ".ren" -type "string" "arnold"; + setAttr ".dss" -type "string" "standardSurface1"; +select -ne :defaultResolution; + setAttr ".pa" 1; +select -ne :defaultColorMgtGlobals; + setAttr ".cfe" yes; + setAttr ".cfp" -type "string" "/OCIO-configs/Maya2022-default/config.ocio"; + setAttr ".vtn" -type "string" "ACES 1.0 SDR-video (sRGB)"; + setAttr ".vn" -type "string" "ACES 1.0 SDR-video"; + setAttr ".dn" -type "string" "sRGB"; + setAttr ".wsn" -type "string" "ACEScg"; + setAttr ".otn" -type "string" "ACES 1.0 SDR-video (sRGB)"; + setAttr ".potn" -type "string" "ACES 1.0 SDR-video (sRGB)"; +select -ne :hardwareRenderGlobals; + setAttr ".ctrs" 256; + setAttr ".btrs" 512; +connectAttr "polySphere1.out" "pSphereShape1.i"; +connectAttr ":time1.o" "PoolBallFlat_animatedShape.tm"; +relationship "link" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; +relationship "link" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; +relationship "shadowLink" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; +relationship "shadowLink" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; +connectAttr "layerManager.dli[0]" "defaultLayer.id"; +connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; +connectAttr ":defaultArnoldDisplayDriver.msg" ":defaultArnoldRenderOptions.drivers" + -na; +connectAttr ":defaultArnoldFilter.msg" ":defaultArnoldRenderOptions.filt"; +connectAttr ":defaultArnoldDriver.msg" ":defaultArnoldRenderOptions.drvr"; +connectAttr "defaultRenderLayer.msg" ":defaultRenderingList1.r" -na; +connectAttr "pSphereShape1.iog" ":initialShadingGroup.dsm" -na; +// End of testMayaDisplayModes_Native+Usd+dataProducer.ma diff --git a/test/testSamples/testWireframeSelectionHighlight/sample_usd.usda b/test/testSamples/testWireframeSelectionHighlight/sample_usd.usda new file mode 100644 index 0000000000..115adc6a3d --- /dev/null +++ b/test/testSamples/testWireframeSelectionHighlight/sample_usd.usda @@ -0,0 +1,230 @@ +#usda 1.0 +( + defaultPrim = "pPlane1" + metersPerUnit = 0.01 + upAxis = "Y" +) + +def Mesh "pTorus1" ( + prepend apiSchemas = ["MaterialBindingAPI"] + kind = "component" +) +{ + uniform bool doubleSided = 1 + float3[] extent = [(-1.5000005, -0.50000024, -1.5000008), (1.5000001, 0.50000006, 1.5000004)] + int[] faceVertexCounts = [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4] + int[] faceVertexIndices = [1, 0, 20, 21, 2, 1, 21, 22, 3, 2, 22, 23, 4, 3, 23, 24, 5, 4, 24, 25, 6, 5, 25, 26, 7, 6, 26, 27, 8, 7, 27, 28, 9, 8, 28, 29, 10, 9, 29, 30, 11, 10, 30, 31, 12, 11, 31, 32, 13, 12, 32, 33, 14, 13, 33, 34, 15, 14, 34, 35, 16, 15, 35, 36, 17, 16, 36, 37, 18, 17, 37, 38, 19, 18, 38, 39, 0, 19, 39, 20, 21, 20, 40, 41, 22, 21, 41, 42, 23, 22, 42, 43, 24, 23, 43, 44, 25, 24, 44, 45, 26, 25, 45, 46, 27, 26, 46, 47, 28, 27, 47, 48, 29, 28, 48, 49, 30, 29, 49, 50, 31, 30, 50, 51, 32, 31, 51, 52, 33, 32, 52, 53, 34, 33, 53, 54, 35, 34, 54, 55, 36, 35, 55, 56, 37, 36, 56, 57, 38, 37, 57, 58, 39, 38, 58, 59, 20, 39, 59, 40, 41, 40, 60, 61, 42, 41, 61, 62, 43, 42, 62, 63, 44, 43, 63, 64, 45, 44, 64, 65, 46, 45, 65, 66, 47, 46, 66, 67, 48, 47, 67, 68, 49, 48, 68, 69, 50, 49, 69, 70, 51, 50, 70, 71, 52, 51, 71, 72, 53, 52, 72, 73, 54, 53, 73, 74, 55, 54, 74, 75, 56, 55, 75, 76, 57, 56, 76, 77, 58, 57, 77, 78, 59, 58, 78, 79, 40, 59, 79, 60, 61, 60, 80, 81, 62, 61, 81, 82, 63, 62, 82, 83, 64, 63, 83, 84, 65, 64, 84, 85, 66, 65, 85, 86, 67, 66, 86, 87, 68, 67, 87, 88, 69, 68, 88, 89, 70, 69, 89, 90, 71, 70, 90, 91, 72, 71, 91, 92, 73, 72, 92, 93, 74, 73, 93, 94, 75, 74, 94, 95, 76, 75, 95, 96, 77, 76, 96, 97, 78, 77, 97, 98, 79, 78, 98, 99, 60, 79, 99, 80, 81, 80, 100, 101, 82, 81, 101, 102, 83, 82, 102, 103, 84, 83, 103, 104, 85, 84, 104, 105, 86, 85, 105, 106, 87, 86, 106, 107, 88, 87, 107, 108, 89, 88, 108, 109, 90, 89, 109, 110, 91, 90, 110, 111, 92, 91, 111, 112, 93, 92, 112, 113, 94, 93, 113, 114, 95, 94, 114, 115, 96, 95, 115, 116, 97, 96, 116, 117, 98, 97, 117, 118, 99, 98, 118, 119, 80, 99, 119, 100, 101, 100, 120, 121, 102, 101, 121, 122, 103, 102, 122, 123, 104, 103, 123, 124, 105, 104, 124, 125, 106, 105, 125, 126, 107, 106, 126, 127, 108, 107, 127, 128, 109, 108, 128, 129, 110, 109, 129, 130, 111, 110, 130, 131, 112, 111, 131, 132, 113, 112, 132, 133, 114, 113, 133, 134, 115, 114, 134, 135, 116, 115, 135, 136, 117, 116, 136, 137, 118, 117, 137, 138, 119, 118, 138, 139, 100, 119, 139, 120, 121, 120, 140, 141, 122, 121, 141, 142, 123, 122, 142, 143, 124, 123, 143, 144, 125, 124, 144, 145, 126, 125, 145, 146, 127, 126, 146, 147, 128, 127, 147, 148, 129, 128, 148, 149, 130, 129, 149, 150, 131, 130, 150, 151, 132, 131, 151, 152, 133, 132, 152, 153, 134, 133, 153, 154, 135, 134, 154, 155, 136, 135, 155, 156, 137, 136, 156, 157, 138, 137, 157, 158, 139, 138, 158, 159, 120, 139, 159, 140, 141, 140, 160, 161, 142, 141, 161, 162, 143, 142, 162, 163, 144, 143, 163, 164, 145, 144, 164, 165, 146, 145, 165, 166, 147, 146, 166, 167, 148, 147, 167, 168, 149, 148, 168, 169, 150, 149, 169, 170, 151, 150, 170, 171, 152, 151, 171, 172, 153, 152, 172, 173, 154, 153, 173, 174, 155, 154, 174, 175, 156, 155, 175, 176, 157, 156, 176, 177, 158, 157, 177, 178, 159, 158, 178, 179, 140, 159, 179, 160, 161, 160, 180, 181, 162, 161, 181, 182, 163, 162, 182, 183, 164, 163, 183, 184, 165, 164, 184, 185, 166, 165, 185, 186, 167, 166, 186, 187, 168, 167, 187, 188, 169, 168, 188, 189, 170, 169, 189, 190, 171, 170, 190, 191, 172, 171, 191, 192, 173, 172, 192, 193, 174, 173, 193, 194, 175, 174, 194, 195, 176, 175, 195, 196, 177, 176, 196, 197, 178, 177, 197, 198, 179, 178, 198, 199, 160, 179, 199, 180, 181, 180, 200, 201, 182, 181, 201, 202, 183, 182, 202, 203, 184, 183, 203, 204, 185, 184, 204, 205, 186, 185, 205, 206, 187, 186, 206, 207, 188, 187, 207, 208, 189, 188, 208, 209, 190, 189, 209, 210, 191, 190, 210, 211, 192, 191, 211, 212, 193, 192, 212, 213, 194, 193, 213, 214, 195, 194, 214, 215, 196, 195, 215, 216, 197, 196, 216, 217, 198, 197, 217, 218, 199, 198, 218, 219, 180, 199, 219, 200, 201, 200, 220, 221, 202, 201, 221, 222, 203, 202, 222, 223, 204, 203, 223, 224, 205, 204, 224, 225, 206, 205, 225, 226, 207, 206, 226, 227, 208, 207, 227, 228, 209, 208, 228, 229, 210, 209, 229, 230, 211, 210, 230, 231, 212, 211, 231, 232, 213, 212, 232, 233, 214, 213, 233, 234, 215, 214, 234, 235, 216, 215, 235, 236, 217, 216, 236, 237, 218, 217, 237, 238, 219, 218, 238, 239, 200, 219, 239, 220, 221, 220, 240, 241, 222, 221, 241, 242, 223, 222, 242, 243, 224, 223, 243, 244, 225, 224, 244, 245, 226, 225, 245, 246, 227, 226, 246, 247, 228, 227, 247, 248, 229, 228, 248, 249, 230, 229, 249, 250, 231, 230, 250, 251, 232, 231, 251, 252, 233, 232, 252, 253, 234, 233, 253, 254, 235, 234, 254, 255, 236, 235, 255, 256, 237, 236, 256, 257, 238, 237, 257, 258, 239, 238, 258, 259, 220, 239, 259, 240, 241, 240, 260, 261, 242, 241, 261, 262, 243, 242, 262, 263, 244, 243, 263, 264, 245, 244, 264, 265, 246, 245, 265, 266, 247, 246, 266, 267, 248, 247, 267, 268, 249, 248, 268, 269, 250, 249, 269, 270, 251, 250, 270, 271, 252, 251, 271, 272, 253, 252, 272, 273, 254, 253, 273, 274, 255, 254, 274, 275, 256, 255, 275, 276, 257, 256, 276, 277, 258, 257, 277, 278, 259, 258, 278, 279, 240, 259, 279, 260, 261, 260, 280, 281, 262, 261, 281, 282, 263, 262, 282, 283, 264, 263, 283, 284, 265, 264, 284, 285, 266, 265, 285, 286, 267, 266, 286, 287, 268, 267, 287, 288, 269, 268, 288, 289, 270, 269, 289, 290, 271, 270, 290, 291, 272, 271, 291, 292, 273, 272, 292, 293, 274, 273, 293, 294, 275, 274, 294, 295, 276, 275, 295, 296, 277, 276, 296, 297, 278, 277, 297, 298, 279, 278, 298, 299, 260, 279, 299, 280, 281, 280, 300, 301, 282, 281, 301, 302, 283, 282, 302, 303, 284, 283, 303, 304, 285, 284, 304, 305, 286, 285, 305, 306, 287, 286, 306, 307, 288, 287, 307, 308, 289, 288, 308, 309, 290, 289, 309, 310, 291, 290, 310, 311, 292, 291, 311, 312, 293, 292, 312, 313, 294, 293, 313, 314, 295, 294, 314, 315, 296, 295, 315, 316, 297, 296, 316, 317, 298, 297, 317, 318, 299, 298, 318, 319, 280, 299, 319, 300, 301, 300, 320, 321, 302, 301, 321, 322, 303, 302, 322, 323, 304, 303, 323, 324, 305, 304, 324, 325, 306, 305, 325, 326, 307, 306, 326, 327, 308, 307, 327, 328, 309, 308, 328, 329, 310, 309, 329, 330, 311, 310, 330, 331, 312, 311, 331, 332, 313, 312, 332, 333, 314, 313, 333, 334, 315, 314, 334, 335, 316, 315, 335, 336, 317, 316, 336, 337, 318, 317, 337, 338, 319, 318, 338, 339, 300, 319, 339, 320, 321, 320, 340, 341, 322, 321, 341, 342, 323, 322, 342, 343, 324, 323, 343, 344, 325, 324, 344, 345, 326, 325, 345, 346, 327, 326, 346, 347, 328, 327, 347, 348, 329, 328, 348, 349, 330, 329, 349, 350, 331, 330, 350, 351, 332, 331, 351, 352, 333, 332, 352, 353, 334, 333, 353, 354, 335, 334, 354, 355, 336, 335, 355, 356, 337, 336, 356, 357, 338, 337, 357, 358, 339, 338, 358, 359, 320, 339, 359, 340, 341, 340, 360, 361, 342, 341, 361, 362, 343, 342, 362, 363, 344, 343, 363, 364, 345, 344, 364, 365, 346, 345, 365, 366, 347, 346, 366, 367, 348, 347, 367, 368, 349, 348, 368, 369, 350, 349, 369, 370, 351, 350, 370, 371, 352, 351, 371, 372, 353, 352, 372, 373, 354, 353, 373, 374, 355, 354, 374, 375, 356, 355, 375, 376, 357, 356, 376, 377, 358, 357, 377, 378, 359, 358, 378, 379, 340, 359, 379, 360, 361, 360, 380, 381, 362, 361, 381, 382, 363, 362, 382, 383, 364, 363, 383, 384, 365, 364, 384, 385, 366, 365, 385, 386, 367, 366, 386, 387, 368, 367, 387, 388, 369, 368, 388, 389, 370, 369, 389, 390, 371, 370, 390, 391, 372, 371, 391, 392, 373, 372, 392, 393, 374, 373, 393, 394, 375, 374, 394, 395, 376, 375, 395, 396, 377, 376, 396, 397, 378, 377, 397, 398, 379, 378, 398, 399, 360, 379, 399, 380, 381, 380, 0, 1, 382, 381, 1, 2, 383, 382, 2, 3, 384, 383, 3, 4, 385, 384, 4, 5, 386, 385, 5, 6, 387, 386, 6, 7, 388, 387, 7, 8, 389, 388, 8, 9, 390, 389, 9, 10, 391, 390, 10, 11, 392, 391, 11, 12, 393, 392, 12, 13, 394, 393, 13, 14, 395, 394, 14, 15, 396, 395, 15, 16, 397, 396, 16, 17, 398, 397, 17, 18, 399, 398, 18, 19, 380, 399, 19, 0] + rel material:binding = + point3f[] points = [(0.47552857, 0, -0.15450859), (0.40450877, 0, -0.2938928), (0.2938928, 0, -0.40450874), (0.15450858, 0, -0.4755285), (0, 0, -0.50000024), (-0.15450858, 0, -0.47552848), (-0.29389274, 0, -0.40450865), (-0.40450862, 0, -0.2938927), (-0.4755284, 0, -0.15450853), (-0.5000001, 0, 0), (-0.4755284, 0, 0.15450853), (-0.4045086, 0, 0.29389268), (-0.29389268, 0, 0.40450856), (-0.15450853, 0, 0.47552833), (-1.4901161e-8, 0, 0.50000006), (0.15450849, 0, 0.4755283), (0.29389262, 0, 0.40450853), (0.4045085, 0, 0.29389265), (0.47552827, 0, 0.1545085), (0.5, 0, 0), (0.4988026, 0.1545085, -0.16207078), (0.42430684, 0.1545085, -0.30827695), (0.30827695, 0.1545085, -0.4243068), (0.16207077, 0.1545085, -0.49880254), (0, 0.1545085, -0.524472), (-0.16207077, 0.1545085, -0.4988025), (-0.3082769, 0.1545085, -0.42430672), (-0.4243067, 0.1545085, -0.30827686), (-0.49880242, 0.1545085, -0.16207072), (-0.5244719, 0.1545085, 0), (-0.49880242, 0.1545085, 0.16207072), (-0.42430666, 0.1545085, 0.30827683), (-0.30827683, 0.1545085, 0.42430663), (-0.16207072, 0.1545085, 0.49880236), (-1.5630476e-8, 0.1545085, 0.5244718), (0.16207068, 0.1545085, 0.49880233), (0.30827677, 0.1545085, 0.4243066), (0.42430657, 0.1545085, 0.3082768), (0.4988023, 0.1545085, 0.16207069), (0.52447176, 0.1545085, 0), (0.56634647, 0.29389265, -0.1840171), (0.4817631, 0.29389265, -0.35002133), (0.35002133, 0.29389265, -0.48176306), (0.18401709, 0.29389265, -0.5663464), (0, 0.29389265, -0.5954918), (-0.18401709, 0.29389265, -0.56634635), (-0.35002127, 0.29389265, -0.48176295), (-0.48176292, 0.29389265, -0.35002124), (-0.5663462, 0.29389265, -0.18401705), (-0.59549165, 0.29389265, 0), (-0.5663462, 0.29389265, 0.18401705), (-0.4817629, 0.29389265, 0.3500212), (-0.3500212, 0.29389265, 0.48176286), (-0.18401705, 0.29389265, 0.56634617), (-1.774703e-8, 0.29389265, 0.5954916), (0.18401699, 0.29389265, 0.56634617), (0.35002112, 0.29389265, 0.4817628), (0.48176277, 0.29389265, 0.35002118), (0.5663461, 0.29389265, 0.184017), (0.5954915, 0.29389265, 0), (0.6715485, 0.40450853, -0.21819931), (0.57125324, 0.40450853, -0.41503975), (0.41503975, 0.40450853, -0.57125324), (0.2181993, 0.40450853, -0.67154837), (0, 0.40450853, -0.70610774), (-0.2181993, 0.40450853, -0.6715483), (-0.41503966, 0.40450853, -0.57125306), (-0.57125306, 0.40450853, -0.41503963), (-0.6715482, 0.40450853, -0.21819922), (-0.70610756, 0.40450853, 0), (-0.6715482, 0.40450853, 0.21819922), (-0.571253, 0.40450853, 0.41503957), (-0.41503957, 0.40450853, 0.57125294), (-0.21819922, 0.40450853, 0.6715481), (-2.104364e-8, 0.40450853, 0.70610744), (0.21819916, 0.40450853, 0.67154807), (0.4150395, 0.40450853, 0.57125294), (0.5712529, 0.40450853, 0.41503954), (0.67154807, 0.40450853, 0.21819918), (0.7061074, 0.40450853, 0), (0.80411077, 0.4755283, -0.26127142), (0.6840175, 0.4755283, -0.49696773), (0.49696773, 0.4755283, -0.6840174), (0.2612714, 0.4755283, -0.80411065), (0, 0.4755283, -0.84549195), (-0.2612714, 0.4755283, -0.8041106), (-0.49696764, 0.4755283, -0.6840173), (-0.68401724, 0.4755283, -0.49696758), (-0.80411047, 0.4755283, -0.2612713), (-0.8454917, 0.4755283, 0), (-0.80411047, 0.4755283, 0.2612713), (-0.6840172, 0.4755283, 0.49696755), (-0.49696755, 0.4755283, 0.6840171), (-0.2612713, 0.4755283, 0.80411035), (-2.5197611e-8, 0.4755283, 0.84549165), (0.26127124, 0.4755283, 0.8041103), (0.49696743, 0.4755283, 0.68401706), (0.684017, 0.4755283, 0.4969675), (0.8041102, 0.4755283, 0.26127127), (0.8454915, 0.4755283, 0), (0.95105714, 0.50000006, -0.30901718), (0.80901754, 0.50000006, -0.5877856), (0.5877856, 0.50000006, -0.8090175), (0.30901715, 0.50000006, -0.951057), (0, 0.50000006, -1.0000005), (-0.30901715, 0.50000006, -0.95105696), (-0.5877855, 0.50000006, -0.8090173), (-0.80901724, 0.50000006, -0.5877854), (-0.9510568, 0.50000006, -0.30901706), (-1.0000002, 0.50000006, 0), (-0.9510568, 0.50000006, 0.30901706), (-0.8090172, 0.50000006, 0.58778536), (-0.58778536, 0.50000006, 0.8090171), (-0.30901706, 0.50000006, 0.95105666), (-2.9802322e-8, 0.50000006, 1.0000001), (0.30901697, 0.50000006, 0.9510566), (0.58778524, 0.50000006, 0.80901706), (0.809017, 0.50000006, 0.5877853), (0.95105654, 0.50000006, 0.309017), (1, 0.50000006, 0), (1.0980036, 0.47552833, -0.356763), (0.9340177, 0.47552833, -0.67860353), (0.67860353, 0.47552833, -0.93401766), (0.35676295, 0.47552833, -1.0980035), (0, 0.47552833, -1.1545092), (-0.35676295, 0.47552833, -1.0980034), (-0.6786034, 0.47552833, -0.9340174), (-0.93401736, 0.47552833, -0.6786033), (-1.0980033, 0.47552833, -0.35676286), (-1.1545088, 0.47552833, 0), (-1.0980033, 0.47552833, 0.35676286), (-0.9340173, 0.47552833, 0.67860323), (-0.67860323, 0.47552833, 0.93401724), (-0.35676286, 0.47552833, 1.098003), (-3.4407037e-8, 0.47552833, 1.1545087), (0.35676274, 0.47552833, 1.098003), (0.6786031, 0.47552833, 0.9340171), (0.93401706, 0.47552833, 0.6786032), (1.0980029, 0.47552833, 0.3567628), (1.1545086, 0.47552833, 0), (1.2305658, 0.40450856, -0.39983505), (1.0467818, 0.40450856, -0.7605314), (0.7605314, 0.40450856, -1.0467818), (0.39983502, 0.40450856, -1.2305657), (0, 0.40450856, -1.2938932), (-0.39983502, 0.40450856, -1.2305655), (-0.7605313, 0.40450856, -1.0467815), (-1.0467814, 0.40450856, -0.76053125), (-1.2305653, 0.40450856, -0.3998349), (-1.293893, 0.40450856, 0), (-1.2305653, 0.40450856, 0.3998349), (-1.0467814, 0.40450856, 0.7605311), (-0.7605311, 0.40450856, 1.0467813), (-0.3998349, 0.40450856, 1.2305652), (-3.8561005e-8, 0.40450856, 1.2938927), (0.39983478, 0.40450856, 1.2305651), (0.760531, 0.40450856, 1.0467812), (1.0467812, 0.40450856, 0.76053107), (1.2305651, 0.40450856, 0.3998348), (1.2938926, 0.40450856, 0), (1.3357679, 0.29389268, -0.4340173), (1.1362721, 0.29389268, -0.8255499), (0.8255499, 0.29389268, -1.136272), (0.43401724, 0.29389268, -1.3357677), (0, 0.29389268, -1.4045093), (-0.43401724, 0.29389268, -1.3357676), (-0.8255498, 0.29389268, -1.1362717), (-1.1362717, 0.29389268, -0.82554966), (-1.3357674, 0.29389268, -0.43401712), (-1.404509, 0.29389268, 0), (-1.3357674, 0.29389268, 0.43401712), (-1.1362716, 0.29389268, 0.8255496), (-0.8255496, 0.29389268, 1.1362715), (-0.43401712, 0.29389268, 1.3357673), (-4.1857618e-8, 0.29389268, 1.4045087), (0.434017, 0.29389268, 1.3357671), (0.8255494, 0.29389268, 1.1362714), (1.1362714, 0.29389268, 0.8255495), (1.335767, 0.29389268, 0.43401703), (1.4045086, 0.29389268, 0), (1.4033117, 0.15450853, -0.4559636), (1.1937283, 0.15450853, -0.8672943), (0.8672943, 0.15450853, -1.1937282), (0.45596358, 0.15450853, -1.4033116), (0, 0.15450853, -1.4755291), (-0.45596358, 0.15450853, -1.4033115), (-0.86729413, 0.15450853, -1.193728), (-1.1937279, 0.15450853, -0.8672941), (-1.4033113, 0.15450853, -0.45596343), (-1.4755287, 0.15450853, 0), (-1.4033113, 0.15450853, 0.45596343), (-1.1937279, 0.15450853, 0.86729395), (-0.86729395, 0.15450853, 1.1937277), (-0.45596343, 0.15450853, 1.403311), (-4.3974172e-8, 0.15450853, 1.4755285), (0.4559633, 0.15450853, 1.403311), (0.8672938, 0.15450853, 1.1937276), (1.1937275, 0.15450853, 0.8672939), (1.4033109, 0.15450853, 0.45596334), (1.4755284, 0.15450853, 0), (1.4265858, 0, -0.4635258), (1.2135264, 0, -0.88167846), (0.88167846, 0, -1.2135264), (0.46352577, 0, -1.4265857), (0, 0, -1.5000008), (-0.46352577, 0, -1.4265856), (-0.8816783, 0, -1.213526), (-1.213526, 0, -0.8816782), (-1.4265853, 0, -0.46352562), (-1.5000005, 0, 0), (-1.4265853, 0, 0.46352562), (-1.2135259, 0, 0.8816781), (-0.8816781, 0, 1.2135258), (-0.46352562, 0, 1.4265851), (-4.4703487e-8, 0, 1.5000004), (0.4635255, 0, 1.426585), (0.8816779, 0, 1.2135257), (1.2135257, 0, 0.88167804), (1.426585, 0, 0.46352553), (1.5000001, 0, 0), (1.4033117, -0.15450853, -0.4559636), (1.1937283, -0.15450853, -0.8672943), (0.8672943, -0.15450853, -1.1937282), (0.45596358, -0.15450853, -1.4033116), (0, -0.15450853, -1.4755291), (-0.45596358, -0.15450853, -1.4033115), (-0.86729413, -0.15450853, -1.193728), (-1.1937279, -0.15450853, -0.8672941), (-1.4033113, -0.15450853, -0.45596343), (-1.4755287, -0.15450853, 0), (-1.4033113, -0.15450853, 0.45596343), (-1.1937279, -0.15450853, 0.86729395), (-0.86729395, -0.15450853, 1.1937277), (-0.45596343, -0.15450853, 1.403311), (-4.3974172e-8, -0.15450853, 1.4755285), (0.4559633, -0.15450853, 1.403311), (0.8672938, -0.15450853, 1.1937276), (1.1937275, -0.15450853, 0.8672939), (1.4033109, -0.15450853, 0.45596334), (1.4755284, -0.15450853, 0), (1.3357679, -0.2938927, -0.4340173), (1.1362721, -0.2938927, -0.8255499), (0.8255499, -0.2938927, -1.136272), (0.43401724, -0.2938927, -1.3357677), (0, -0.2938927, -1.4045093), (-0.43401724, -0.2938927, -1.3357676), (-0.8255498, -0.2938927, -1.1362717), (-1.1362717, -0.2938927, -0.82554966), (-1.3357674, -0.2938927, -0.43401712), (-1.404509, -0.2938927, 0), (-1.3357674, -0.2938927, 0.43401712), (-1.1362716, -0.2938927, 0.8255496), (-0.8255496, -0.2938927, 1.1362715), (-0.43401712, -0.2938927, 1.3357673), (-4.1857618e-8, -0.2938927, 1.4045087), (0.434017, -0.2938927, 1.3357671), (0.8255494, -0.2938927, 1.1362714), (1.1362714, -0.2938927, 0.8255495), (1.335767, -0.2938927, 0.43401703), (1.4045086, -0.2938927, 0), (1.2305659, -0.40450865, -0.39983508), (1.0467819, -0.40450865, -0.76053154), (0.76053154, -0.40450865, -1.0467819), (0.39983505, -0.40450865, -1.2305658), (0, -0.40450865, -1.2938933), (-0.39983505, -0.40450865, -1.2305657), (-0.76053137, -0.40450865, -1.0467817), (-1.0467815, -0.40450865, -0.7605313), (-1.2305654, -0.40450865, -0.39983493), (-1.2938931, -0.40450865, 0), (-1.2305654, -0.40450865, 0.39983493), (-1.0467814, -0.40450865, 0.7605312), (-0.7605312, -0.40450865, 1.0467814), (-0.39983493, -0.40450865, 1.2305653), (-3.856101e-8, -0.40450865, 1.2938929), (0.3998348, -0.40450865, 1.2305652), (0.76053107, -0.40450865, 1.0467813), (1.0467812, -0.40450865, 0.7605311), (1.2305652, -0.40450865, 0.39983487), (1.2938927, -0.40450865, 0), (1.0980036, -0.47552848, -0.356763), (0.9340177, -0.47552848, -0.67860353), (0.67860353, -0.47552848, -0.93401766), (0.35676295, -0.47552848, -1.0980035), (0, -0.47552848, -1.1545092), (-0.35676295, -0.47552848, -1.0980034), (-0.6786034, -0.47552848, -0.9340174), (-0.93401736, -0.47552848, -0.6786033), (-1.0980033, -0.47552848, -0.35676286), (-1.1545088, -0.47552848, 0), (-1.0980033, -0.47552848, 0.35676286), (-0.9340173, -0.47552848, 0.67860323), (-0.67860323, -0.47552848, 0.93401724), (-0.35676286, -0.47552848, 1.098003), (-3.4407037e-8, -0.47552848, 1.1545087), (0.35676274, -0.47552848, 1.098003), (0.6786031, -0.47552848, 0.9340171), (0.93401706, -0.47552848, 0.6786032), (1.0980029, -0.47552848, 0.3567628), (1.1545086, -0.47552848, 0), (0.95105714, -0.50000024, -0.30901718), (0.80901754, -0.50000024, -0.5877856), (0.5877856, -0.50000024, -0.8090175), (0.30901715, -0.50000024, -0.951057), (0, -0.50000024, -1.0000005), (-0.30901715, -0.50000024, -0.95105696), (-0.5877855, -0.50000024, -0.8090173), (-0.80901724, -0.50000024, -0.5877854), (-0.9510568, -0.50000024, -0.30901706), (-1.0000002, -0.50000024, 0), (-0.9510568, -0.50000024, 0.30901706), (-0.8090172, -0.50000024, 0.58778536), (-0.58778536, -0.50000024, 0.8090171), (-0.30901706, -0.50000024, 0.95105666), (-2.9802322e-8, -0.50000024, 1.0000001), (0.30901697, -0.50000024, 0.9510566), (0.58778524, -0.50000024, 0.80901706), (0.809017, -0.50000024, 0.5877853), (0.95105654, -0.50000024, 0.309017), (1, -0.50000024, 0), (0.80411065, -0.4755285, -0.26127136), (0.68401736, -0.4755285, -0.49696767), (0.49696767, -0.4755285, -0.6840173), (0.26127136, -0.4755285, -0.8041105), (0, -0.4755285, -0.8454918), (-0.26127136, -0.4755285, -0.80411047), (-0.49696758, -0.4755285, -0.6840172), (-0.6840171, -0.4755285, -0.49696752), (-0.80411035, -0.4755285, -0.26127127), (-0.8454916, -0.4755285, 0), (-0.80411035, -0.4755285, 0.26127127), (-0.68401706, -0.4755285, 0.49696746), (-0.49696746, -0.4755285, 0.684017), (-0.26127127, -0.4755285, 0.8041102), (-2.5197608e-8, -0.4755285, 0.8454915), (0.2612712, -0.4755285, 0.80411017), (0.49696738, -0.4755285, 0.684017), (0.68401694, -0.4755285, 0.49696743), (0.8041101, -0.4755285, 0.2612712), (0.8454914, -0.4755285, 0), (0.6715483, -0.40450874, -0.21819925), (0.5712531, -0.40450874, -0.41503966), (0.41503966, -0.40450874, -0.57125306), (0.21819924, -0.40450874, -0.6715482), (0, -0.40450874, -0.70610756), (-0.21819924, -0.40450874, -0.6715482), (-0.41503957, -0.40450874, -0.57125294), (-0.5712529, -0.40450874, -0.4150395), (-0.671548, -0.40450874, -0.21819918), (-0.7061074, -0.40450874, 0), (-0.671548, -0.40450874, 0.21819918), (-0.5712529, -0.40450874, 0.41503948), (-0.41503948, -0.40450874, 0.5712528), (-0.21819918, -0.40450874, 0.67154795), (-2.1043634e-8, -0.40450874, 0.70610726), (0.2181991, -0.40450874, 0.6715479), (0.4150394, -0.40450874, 0.57125276), (0.5712527, -0.40450874, 0.41503942), (0.6715479, -0.40450874, 0.21819913), (0.7061072, -0.40450874, 0), (0.56634617, -0.2938928, -0.18401702), (0.48176286, -0.2938928, -0.35002118), (0.35002118, -0.2938928, -0.48176283), (0.184017, -0.2938928, -0.5663461), (0, -0.2938928, -0.5954915), (-0.184017, -0.2938928, -0.56634605), (-0.3500211, -0.2938928, -0.4817627), (-0.48176268, -0.2938928, -0.35002106), (-0.566346, -0.2938928, -0.18401696), (-0.59549135, -0.2938928, 0), (-0.566346, -0.2938928, 0.18401696), (-0.48176265, -0.2938928, 0.35002103), (-0.35002103, -0.2938928, 0.4817626), (-0.18401696, -0.2938928, 0.5663459), (-1.7747022e-8, -0.2938928, 0.5954913), (0.1840169, -0.2938928, 0.5663459), (0.35002095, -0.2938928, 0.48176256), (0.48176253, -0.2938928, 0.350021), (0.5663458, -0.2938928, 0.18401691), (0.59549123, -0.2938928, 0), (0.49880227, -0.15450859, -0.16207068), (0.42430657, -0.15450859, -0.30827674), (0.30827674, -0.15450859, -0.42430654), (0.16207066, -0.15450859, -0.4988022), (0, -0.15450859, -0.52447164), (-0.16207066, -0.15450859, -0.49880219), (-0.30827668, -0.15450859, -0.42430645), (-0.4243064, -0.15450859, -0.30827665), (-0.4988021, -0.15450859, -0.16207062), (-0.5244715, -0.15450859, 0), (-0.4988021, -0.15450859, 0.16207062), (-0.42430636, -0.15450859, 0.30827662), (-0.30827662, -0.15450859, 0.42430633), (-0.16207062, -0.15450859, 0.498802), (-1.5630466e-8, -0.15450859, 0.52447146), (0.16207057, -0.15450859, 0.49880198), (0.30827656, -0.15450859, 0.4243063), (0.42430627, -0.15450859, 0.3082766), (0.49880195, -0.15450859, 0.16207059), (0.5244714, -0.15450859, 0)] + color3f[] primvars:displayColor = [(0, 1, 0)] ( + customData = { + dictionary Maya = { + bool generated = 1 + } + } + ) + texCoord2f[] primvars:st = [(0, 1), (0.05, 1), (0.1, 1), (0.15, 1), (0.2, 1), (0.25, 1), (0.3, 1), (0.35000002, 1), (0.40000004, 1), (0.45000005, 1), (0.50000006, 1), (0.5500001, 1), (0.6000001, 1), (0.6500001, 1), (0.7000001, 1), (0.7500001, 1), (0.80000013, 1), (0.85000014, 1), (0.90000015, 1), (0.95000017, 1), (1.0000001, 1), (0, 0.95), (0.05, 0.95), (0.1, 0.95), (0.15, 0.95), (0.2, 0.95), (0.25, 0.95), (0.3, 0.95), (0.35000002, 0.95), (0.40000004, 0.95), (0.45000005, 0.95), (0.50000006, 0.95), (0.5500001, 0.95), (0.6000001, 0.95), (0.6500001, 0.95), (0.7000001, 0.95), (0.7500001, 0.95), (0.80000013, 0.95), (0.85000014, 0.95), (0.90000015, 0.95), (0.95000017, 0.95), (1.0000001, 0.95), (0, 0.9), (0.05, 0.9), (0.1, 0.9), (0.15, 0.9), (0.2, 0.9), (0.25, 0.9), (0.3, 0.9), (0.35000002, 0.9), (0.40000004, 0.9), (0.45000005, 0.9), (0.50000006, 0.9), (0.5500001, 0.9), (0.6000001, 0.9), (0.6500001, 0.9), (0.7000001, 0.9), (0.7500001, 0.9), (0.80000013, 0.9), (0.85000014, 0.9), (0.90000015, 0.9), (0.95000017, 0.9), (1.0000001, 0.9), (0, 0.84999996), (0.05, 0.84999996), (0.1, 0.84999996), (0.15, 0.84999996), (0.2, 0.84999996), (0.25, 0.84999996), (0.3, 0.84999996), (0.35000002, 0.84999996), (0.40000004, 0.84999996), (0.45000005, 0.84999996), (0.50000006, 0.84999996), (0.5500001, 0.84999996), (0.6000001, 0.84999996), (0.6500001, 0.84999996), (0.7000001, 0.84999996), (0.7500001, 0.84999996), (0.80000013, 0.84999996), (0.85000014, 0.84999996), (0.90000015, 0.84999996), (0.95000017, 0.84999996), (1.0000001, 0.84999996), (0, 0.79999995), (0.05, 0.79999995), (0.1, 0.79999995), (0.15, 0.79999995), (0.2, 0.79999995), (0.25, 0.79999995), (0.3, 0.79999995), (0.35000002, 0.79999995), (0.40000004, 0.79999995), (0.45000005, 0.79999995), (0.50000006, 0.79999995), (0.5500001, 0.79999995), (0.6000001, 0.79999995), (0.6500001, 0.79999995), (0.7000001, 0.79999995), (0.7500001, 0.79999995), (0.80000013, 0.79999995), (0.85000014, 0.79999995), (0.90000015, 0.79999995), (0.95000017, 0.79999995), (1.0000001, 0.79999995), (0, 0.74999994), (0.05, 0.74999994), (0.1, 0.74999994), (0.15, 0.74999994), (0.2, 0.74999994), (0.25, 0.74999994), (0.3, 0.74999994), (0.35000002, 0.74999994), (0.40000004, 0.74999994), (0.45000005, 0.74999994), (0.50000006, 0.74999994), (0.5500001, 0.74999994), (0.6000001, 0.74999994), (0.6500001, 0.74999994), (0.7000001, 0.74999994), (0.7500001, 0.74999994), (0.80000013, 0.74999994), (0.85000014, 0.74999994), (0.90000015, 0.74999994), (0.95000017, 0.74999994), (1.0000001, 0.74999994), (0, 0.6999999), (0.05, 0.6999999), (0.1, 0.6999999), (0.15, 0.6999999), (0.2, 0.6999999), (0.25, 0.6999999), (0.3, 0.6999999), (0.35000002, 0.6999999), (0.40000004, 0.6999999), (0.45000005, 0.6999999), (0.50000006, 0.6999999), (0.5500001, 0.6999999), (0.6000001, 0.6999999), (0.6500001, 0.6999999), (0.7000001, 0.6999999), (0.7500001, 0.6999999), (0.80000013, 0.6999999), (0.85000014, 0.6999999), (0.90000015, 0.6999999), (0.95000017, 0.6999999), (1.0000001, 0.6999999), (0, 0.6499999), (0.05, 0.6499999), (0.1, 0.6499999), (0.15, 0.6499999), (0.2, 0.6499999), (0.25, 0.6499999), (0.3, 0.6499999), (0.35000002, 0.6499999), (0.40000004, 0.6499999), (0.45000005, 0.6499999), (0.50000006, 0.6499999), (0.5500001, 0.6499999), (0.6000001, 0.6499999), (0.6500001, 0.6499999), (0.7000001, 0.6499999), (0.7500001, 0.6499999), (0.80000013, 0.6499999), (0.85000014, 0.6499999), (0.90000015, 0.6499999), (0.95000017, 0.6499999), (1.0000001, 0.6499999), (0, 0.5999999), (0.05, 0.5999999), (0.1, 0.5999999), (0.15, 0.5999999), (0.2, 0.5999999), (0.25, 0.5999999), (0.3, 0.5999999), (0.35000002, 0.5999999), (0.40000004, 0.5999999), (0.45000005, 0.5999999), (0.50000006, 0.5999999), (0.5500001, 0.5999999), (0.6000001, 0.5999999), (0.6500001, 0.5999999), (0.7000001, 0.5999999), (0.7500001, 0.5999999), (0.80000013, 0.5999999), (0.85000014, 0.5999999), (0.90000015, 0.5999999), (0.95000017, 0.5999999), (1.0000001, 0.5999999), (0, 0.5499999), (0.05, 0.5499999), (0.1, 0.5499999), (0.15, 0.5499999), (0.2, 0.5499999), (0.25, 0.5499999), (0.3, 0.5499999), (0.35000002, 0.5499999), (0.40000004, 0.5499999), (0.45000005, 0.5499999), (0.50000006, 0.5499999), (0.5500001, 0.5499999), (0.6000001, 0.5499999), (0.6500001, 0.5499999), (0.7000001, 0.5499999), (0.7500001, 0.5499999), (0.80000013, 0.5499999), (0.85000014, 0.5499999), (0.90000015, 0.5499999), (0.95000017, 0.5499999), (1.0000001, 0.5499999), (0, 0.49999988), (0.05, 0.49999988), (0.1, 0.49999988), (0.15, 0.49999988), (0.2, 0.49999988), (0.25, 0.49999988), (0.3, 0.49999988), (0.35000002, 0.49999988), (0.40000004, 0.49999988), (0.45000005, 0.49999988), (0.50000006, 0.49999988), (0.5500001, 0.49999988), (0.6000001, 0.49999988), (0.6500001, 0.49999988), (0.7000001, 0.49999988), (0.7500001, 0.49999988), (0.80000013, 0.49999988), (0.85000014, 0.49999988), (0.90000015, 0.49999988), (0.95000017, 0.49999988), (1.0000001, 0.49999988), (0, 0.44999987), (0.05, 0.44999987), (0.1, 0.44999987), (0.15, 0.44999987), (0.2, 0.44999987), (0.25, 0.44999987), (0.3, 0.44999987), (0.35000002, 0.44999987), (0.40000004, 0.44999987), (0.45000005, 0.44999987), (0.50000006, 0.44999987), (0.5500001, 0.44999987), (0.6000001, 0.44999987), (0.6500001, 0.44999987), (0.7000001, 0.44999987), (0.7500001, 0.44999987), (0.80000013, 0.44999987), (0.85000014, 0.44999987), (0.90000015, 0.44999987), (0.95000017, 0.44999987), (1.0000001, 0.44999987), (0, 0.39999986), (0.05, 0.39999986), (0.1, 0.39999986), (0.15, 0.39999986), (0.2, 0.39999986), (0.25, 0.39999986), (0.3, 0.39999986), (0.35000002, 0.39999986), (0.40000004, 0.39999986), (0.45000005, 0.39999986), (0.50000006, 0.39999986), (0.5500001, 0.39999986), (0.6000001, 0.39999986), (0.6500001, 0.39999986), (0.7000001, 0.39999986), (0.7500001, 0.39999986), (0.80000013, 0.39999986), (0.85000014, 0.39999986), (0.90000015, 0.39999986), (0.95000017, 0.39999986), (1.0000001, 0.39999986), (0, 0.34999985), (0.05, 0.34999985), (0.1, 0.34999985), (0.15, 0.34999985), (0.2, 0.34999985), (0.25, 0.34999985), (0.3, 0.34999985), (0.35000002, 0.34999985), (0.40000004, 0.34999985), (0.45000005, 0.34999985), (0.50000006, 0.34999985), (0.5500001, 0.34999985), (0.6000001, 0.34999985), (0.6500001, 0.34999985), (0.7000001, 0.34999985), (0.7500001, 0.34999985), (0.80000013, 0.34999985), (0.85000014, 0.34999985), (0.90000015, 0.34999985), (0.95000017, 0.34999985), (1.0000001, 0.34999985), (0, 0.29999983), (0.05, 0.29999983), (0.1, 0.29999983), (0.15, 0.29999983), (0.2, 0.29999983), (0.25, 0.29999983), (0.3, 0.29999983), (0.35000002, 0.29999983), (0.40000004, 0.29999983), (0.45000005, 0.29999983), (0.50000006, 0.29999983), (0.5500001, 0.29999983), (0.6000001, 0.29999983), (0.6500001, 0.29999983), (0.7000001, 0.29999983), (0.7500001, 0.29999983), (0.80000013, 0.29999983), (0.85000014, 0.29999983), (0.90000015, 0.29999983), (0.95000017, 0.29999983), (1.0000001, 0.29999983), (0, 0.24999984), (0.05, 0.24999984), (0.1, 0.24999984), (0.15, 0.24999984), (0.2, 0.24999984), (0.25, 0.24999984), (0.3, 0.24999984), (0.35000002, 0.24999984), (0.40000004, 0.24999984), (0.45000005, 0.24999984), (0.50000006, 0.24999984), (0.5500001, 0.24999984), (0.6000001, 0.24999984), (0.6500001, 0.24999984), (0.7000001, 0.24999984), (0.7500001, 0.24999984), (0.80000013, 0.24999984), (0.85000014, 0.24999984), (0.90000015, 0.24999984), (0.95000017, 0.24999984), (1.0000001, 0.24999984), (0, 0.19999984), (0.05, 0.19999984), (0.1, 0.19999984), (0.15, 0.19999984), (0.2, 0.19999984), (0.25, 0.19999984), (0.3, 0.19999984), (0.35000002, 0.19999984), (0.40000004, 0.19999984), (0.45000005, 0.19999984), (0.50000006, 0.19999984), (0.5500001, 0.19999984), (0.6000001, 0.19999984), (0.6500001, 0.19999984), (0.7000001, 0.19999984), (0.7500001, 0.19999984), (0.80000013, 0.19999984), (0.85000014, 0.19999984), (0.90000015, 0.19999984), (0.95000017, 0.19999984), (1.0000001, 0.19999984), (0, 0.14999984), (0.05, 0.14999984), (0.1, 0.14999984), (0.15, 0.14999984), (0.2, 0.14999984), (0.25, 0.14999984), (0.3, 0.14999984), (0.35000002, 0.14999984), (0.40000004, 0.14999984), (0.45000005, 0.14999984), (0.50000006, 0.14999984), (0.5500001, 0.14999984), (0.6000001, 0.14999984), (0.6500001, 0.14999984), (0.7000001, 0.14999984), (0.7500001, 0.14999984), (0.80000013, 0.14999984), (0.85000014, 0.14999984), (0.90000015, 0.14999984), (0.95000017, 0.14999984), (1.0000001, 0.14999984), (0, 0.099999845), (0.05, 0.099999845), (0.1, 0.099999845), (0.15, 0.099999845), (0.2, 0.099999845), (0.25, 0.099999845), (0.3, 0.099999845), (0.35000002, 0.099999845), (0.40000004, 0.099999845), (0.45000005, 0.099999845), (0.50000006, 0.099999845), (0.5500001, 0.099999845), (0.6000001, 0.099999845), (0.6500001, 0.099999845), (0.7000001, 0.099999845), (0.7500001, 0.099999845), (0.80000013, 0.099999845), (0.85000014, 0.099999845), (0.90000015, 0.099999845), (0.95000017, 0.099999845), (1.0000001, 0.099999845), (0, 0.049999844), (0.05, 0.049999844), (0.1, 0.049999844), (0.15, 0.049999844), (0.2, 0.049999844), (0.25, 0.049999844), (0.3, 0.049999844), (0.35000002, 0.049999844), (0.40000004, 0.049999844), (0.45000005, 0.049999844), (0.50000006, 0.049999844), (0.5500001, 0.049999844), (0.6000001, 0.049999844), (0.6500001, 0.049999844), (0.7000001, 0.049999844), (0.7500001, 0.049999844), (0.80000013, 0.049999844), (0.85000014, 0.049999844), (0.90000015, 0.049999844), (0.95000017, 0.049999844), (1.0000001, 0.049999844), (0, -1.5646219e-7), (0.05, -1.5646219e-7), (0.1, -1.5646219e-7), (0.15, -1.5646219e-7), (0.2, -1.5646219e-7), (0.25, -1.5646219e-7), (0.3, -1.5646219e-7), (0.35000002, -1.5646219e-7), (0.40000004, -1.5646219e-7), (0.45000005, -1.5646219e-7), (0.50000006, -1.5646219e-7), (0.5500001, -1.5646219e-7), (0.6000001, -1.5646219e-7), (0.6500001, -1.5646219e-7), (0.7000001, -1.5646219e-7), (0.7500001, -1.5646219e-7), (0.80000013, -1.5646219e-7), (0.85000014, -1.5646219e-7), (0.90000015, -1.5646219e-7), (0.95000017, -1.5646219e-7), (1.0000001, -1.5646219e-7)] ( + customData = { + dictionary Maya = { + token name = "map1" + } + } + interpolation = "faceVarying" + ) + int[] primvars:st:indices = [1, 0, 21, 22, 2, 1, 22, 23, 3, 2, 23, 24, 4, 3, 24, 25, 5, 4, 25, 26, 6, 5, 26, 27, 7, 6, 27, 28, 8, 7, 28, 29, 9, 8, 29, 30, 10, 9, 30, 31, 11, 10, 31, 32, 12, 11, 32, 33, 13, 12, 33, 34, 14, 13, 34, 35, 15, 14, 35, 36, 16, 15, 36, 37, 17, 16, 37, 38, 18, 17, 38, 39, 19, 18, 39, 40, 20, 19, 40, 41, 22, 21, 42, 43, 23, 22, 43, 44, 24, 23, 44, 45, 25, 24, 45, 46, 26, 25, 46, 47, 27, 26, 47, 48, 28, 27, 48, 49, 29, 28, 49, 50, 30, 29, 50, 51, 31, 30, 51, 52, 32, 31, 52, 53, 33, 32, 53, 54, 34, 33, 54, 55, 35, 34, 55, 56, 36, 35, 56, 57, 37, 36, 57, 58, 38, 37, 58, 59, 39, 38, 59, 60, 40, 39, 60, 61, 41, 40, 61, 62, 43, 42, 63, 64, 44, 43, 64, 65, 45, 44, 65, 66, 46, 45, 66, 67, 47, 46, 67, 68, 48, 47, 68, 69, 49, 48, 69, 70, 50, 49, 70, 71, 51, 50, 71, 72, 52, 51, 72, 73, 53, 52, 73, 74, 54, 53, 74, 75, 55, 54, 75, 76, 56, 55, 76, 77, 57, 56, 77, 78, 58, 57, 78, 79, 59, 58, 79, 80, 60, 59, 80, 81, 61, 60, 81, 82, 62, 61, 82, 83, 64, 63, 84, 85, 65, 64, 85, 86, 66, 65, 86, 87, 67, 66, 87, 88, 68, 67, 88, 89, 69, 68, 89, 90, 70, 69, 90, 91, 71, 70, 91, 92, 72, 71, 92, 93, 73, 72, 93, 94, 74, 73, 94, 95, 75, 74, 95, 96, 76, 75, 96, 97, 77, 76, 97, 98, 78, 77, 98, 99, 79, 78, 99, 100, 80, 79, 100, 101, 81, 80, 101, 102, 82, 81, 102, 103, 83, 82, 103, 104, 85, 84, 105, 106, 86, 85, 106, 107, 87, 86, 107, 108, 88, 87, 108, 109, 89, 88, 109, 110, 90, 89, 110, 111, 91, 90, 111, 112, 92, 91, 112, 113, 93, 92, 113, 114, 94, 93, 114, 115, 95, 94, 115, 116, 96, 95, 116, 117, 97, 96, 117, 118, 98, 97, 118, 119, 99, 98, 119, 120, 100, 99, 120, 121, 101, 100, 121, 122, 102, 101, 122, 123, 103, 102, 123, 124, 104, 103, 124, 125, 106, 105, 126, 127, 107, 106, 127, 128, 108, 107, 128, 129, 109, 108, 129, 130, 110, 109, 130, 131, 111, 110, 131, 132, 112, 111, 132, 133, 113, 112, 133, 134, 114, 113, 134, 135, 115, 114, 135, 136, 116, 115, 136, 137, 117, 116, 137, 138, 118, 117, 138, 139, 119, 118, 139, 140, 120, 119, 140, 141, 121, 120, 141, 142, 122, 121, 142, 143, 123, 122, 143, 144, 124, 123, 144, 145, 125, 124, 145, 146, 127, 126, 147, 148, 128, 127, 148, 149, 129, 128, 149, 150, 130, 129, 150, 151, 131, 130, 151, 152, 132, 131, 152, 153, 133, 132, 153, 154, 134, 133, 154, 155, 135, 134, 155, 156, 136, 135, 156, 157, 137, 136, 157, 158, 138, 137, 158, 159, 139, 138, 159, 160, 140, 139, 160, 161, 141, 140, 161, 162, 142, 141, 162, 163, 143, 142, 163, 164, 144, 143, 164, 165, 145, 144, 165, 166, 146, 145, 166, 167, 148, 147, 168, 169, 149, 148, 169, 170, 150, 149, 170, 171, 151, 150, 171, 172, 152, 151, 172, 173, 153, 152, 173, 174, 154, 153, 174, 175, 155, 154, 175, 176, 156, 155, 176, 177, 157, 156, 177, 178, 158, 157, 178, 179, 159, 158, 179, 180, 160, 159, 180, 181, 161, 160, 181, 182, 162, 161, 182, 183, 163, 162, 183, 184, 164, 163, 184, 185, 165, 164, 185, 186, 166, 165, 186, 187, 167, 166, 187, 188, 169, 168, 189, 190, 170, 169, 190, 191, 171, 170, 191, 192, 172, 171, 192, 193, 173, 172, 193, 194, 174, 173, 194, 195, 175, 174, 195, 196, 176, 175, 196, 197, 177, 176, 197, 198, 178, 177, 198, 199, 179, 178, 199, 200, 180, 179, 200, 201, 181, 180, 201, 202, 182, 181, 202, 203, 183, 182, 203, 204, 184, 183, 204, 205, 185, 184, 205, 206, 186, 185, 206, 207, 187, 186, 207, 208, 188, 187, 208, 209, 190, 189, 210, 211, 191, 190, 211, 212, 192, 191, 212, 213, 193, 192, 213, 214, 194, 193, 214, 215, 195, 194, 215, 216, 196, 195, 216, 217, 197, 196, 217, 218, 198, 197, 218, 219, 199, 198, 219, 220, 200, 199, 220, 221, 201, 200, 221, 222, 202, 201, 222, 223, 203, 202, 223, 224, 204, 203, 224, 225, 205, 204, 225, 226, 206, 205, 226, 227, 207, 206, 227, 228, 208, 207, 228, 229, 209, 208, 229, 230, 211, 210, 231, 232, 212, 211, 232, 233, 213, 212, 233, 234, 214, 213, 234, 235, 215, 214, 235, 236, 216, 215, 236, 237, 217, 216, 237, 238, 218, 217, 238, 239, 219, 218, 239, 240, 220, 219, 240, 241, 221, 220, 241, 242, 222, 221, 242, 243, 223, 222, 243, 244, 224, 223, 244, 245, 225, 224, 245, 246, 226, 225, 246, 247, 227, 226, 247, 248, 228, 227, 248, 249, 229, 228, 249, 250, 230, 229, 250, 251, 232, 231, 252, 253, 233, 232, 253, 254, 234, 233, 254, 255, 235, 234, 255, 256, 236, 235, 256, 257, 237, 236, 257, 258, 238, 237, 258, 259, 239, 238, 259, 260, 240, 239, 260, 261, 241, 240, 261, 262, 242, 241, 262, 263, 243, 242, 263, 264, 244, 243, 264, 265, 245, 244, 265, 266, 246, 245, 266, 267, 247, 246, 267, 268, 248, 247, 268, 269, 249, 248, 269, 270, 250, 249, 270, 271, 251, 250, 271, 272, 253, 252, 273, 274, 254, 253, 274, 275, 255, 254, 275, 276, 256, 255, 276, 277, 257, 256, 277, 278, 258, 257, 278, 279, 259, 258, 279, 280, 260, 259, 280, 281, 261, 260, 281, 282, 262, 261, 282, 283, 263, 262, 283, 284, 264, 263, 284, 285, 265, 264, 285, 286, 266, 265, 286, 287, 267, 266, 287, 288, 268, 267, 288, 289, 269, 268, 289, 290, 270, 269, 290, 291, 271, 270, 291, 292, 272, 271, 292, 293, 274, 273, 294, 295, 275, 274, 295, 296, 276, 275, 296, 297, 277, 276, 297, 298, 278, 277, 298, 299, 279, 278, 299, 300, 280, 279, 300, 301, 281, 280, 301, 302, 282, 281, 302, 303, 283, 282, 303, 304, 284, 283, 304, 305, 285, 284, 305, 306, 286, 285, 306, 307, 287, 286, 307, 308, 288, 287, 308, 309, 289, 288, 309, 310, 290, 289, 310, 311, 291, 290, 311, 312, 292, 291, 312, 313, 293, 292, 313, 314, 295, 294, 315, 316, 296, 295, 316, 317, 297, 296, 317, 318, 298, 297, 318, 319, 299, 298, 319, 320, 300, 299, 320, 321, 301, 300, 321, 322, 302, 301, 322, 323, 303, 302, 323, 324, 304, 303, 324, 325, 305, 304, 325, 326, 306, 305, 326, 327, 307, 306, 327, 328, 308, 307, 328, 329, 309, 308, 329, 330, 310, 309, 330, 331, 311, 310, 331, 332, 312, 311, 332, 333, 313, 312, 333, 334, 314, 313, 334, 335, 316, 315, 336, 337, 317, 316, 337, 338, 318, 317, 338, 339, 319, 318, 339, 340, 320, 319, 340, 341, 321, 320, 341, 342, 322, 321, 342, 343, 323, 322, 343, 344, 324, 323, 344, 345, 325, 324, 345, 346, 326, 325, 346, 347, 327, 326, 347, 348, 328, 327, 348, 349, 329, 328, 349, 350, 330, 329, 350, 351, 331, 330, 351, 352, 332, 331, 352, 353, 333, 332, 353, 354, 334, 333, 354, 355, 335, 334, 355, 356, 337, 336, 357, 358, 338, 337, 358, 359, 339, 338, 359, 360, 340, 339, 360, 361, 341, 340, 361, 362, 342, 341, 362, 363, 343, 342, 363, 364, 344, 343, 364, 365, 345, 344, 365, 366, 346, 345, 366, 367, 347, 346, 367, 368, 348, 347, 368, 369, 349, 348, 369, 370, 350, 349, 370, 371, 351, 350, 371, 372, 352, 351, 372, 373, 353, 352, 373, 374, 354, 353, 374, 375, 355, 354, 375, 376, 356, 355, 376, 377, 358, 357, 378, 379, 359, 358, 379, 380, 360, 359, 380, 381, 361, 360, 381, 382, 362, 361, 382, 383, 363, 362, 383, 384, 364, 363, 384, 385, 365, 364, 385, 386, 366, 365, 386, 387, 367, 366, 387, 388, 368, 367, 388, 389, 369, 368, 389, 390, 370, 369, 390, 391, 371, 370, 391, 392, 372, 371, 392, 393, 373, 372, 393, 394, 374, 373, 394, 395, 375, 374, 395, 396, 376, 375, 396, 397, 377, 376, 397, 398, 379, 378, 399, 400, 380, 379, 400, 401, 381, 380, 401, 402, 382, 381, 402, 403, 383, 382, 403, 404, 384, 383, 404, 405, 385, 384, 405, 406, 386, 385, 406, 407, 387, 386, 407, 408, 388, 387, 408, 409, 389, 388, 409, 410, 390, 389, 410, 411, 391, 390, 411, 412, 392, 391, 412, 413, 393, 392, 413, 414, 394, 393, 414, 415, 395, 394, 415, 416, 396, 395, 416, 417, 397, 396, 417, 418, 398, 397, 418, 419, 400, 399, 420, 421, 401, 400, 421, 422, 402, 401, 422, 423, 403, 402, 423, 424, 404, 403, 424, 425, 405, 404, 425, 426, 406, 405, 426, 427, 407, 406, 427, 428, 408, 407, 428, 429, 409, 408, 429, 430, 410, 409, 430, 431, 411, 410, 431, 432, 412, 411, 432, 433, 413, 412, 433, 434, 414, 413, 434, 435, 415, 414, 435, 436, 416, 415, 436, 437, 417, 416, 437, 438, 418, 417, 438, 439, 419, 418, 439, 440] + double3 xformOp:translate = (0, 1.573436736481614, 4.274147769540836) + uniform token[] xformOpOrder = ["xformOp:translate"] + + def Scope "mtl" + { + def Material "standardSurface3SG" + { + token outputs:surface.connect = + + def Shader "standardSurface3" + { + uniform token info:id = "UsdPreviewSurface" + float inputs:clearcoat = 0 + float inputs:clearcoatRoughness = 0.1 + color3f inputs:diffuseColor = (0, 1, 0) + color3f inputs:emissiveColor = (0, 0, 0) + float inputs:ior = 1.5 + float inputs:metallic = 0 + normal3f inputs:normal = (1, 1, 1) + float inputs:roughness = 0.2 + color3f inputs:specularColor = (1, 1, 1) + token outputs:displacement + token outputs:surface + } + } + } +} + +def Mesh "pSphere1" ( + prepend apiSchemas = ["MaterialBindingAPI"] + kind = "component" +) +{ + uniform bool doubleSided = 1 + float3[] extent = [(-1.0000002, -1, -1.0000005), (1, 1, 1.0000001)] + int[] faceVertexCounts = [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3] + int[] faceVertexIndices = [0, 1, 21, 20, 1, 2, 22, 21, 2, 3, 23, 22, 3, 4, 24, 23, 4, 5, 25, 24, 5, 6, 26, 25, 6, 7, 27, 26, 7, 8, 28, 27, 8, 9, 29, 28, 9, 10, 30, 29, 10, 11, 31, 30, 11, 12, 32, 31, 12, 13, 33, 32, 13, 14, 34, 33, 14, 15, 35, 34, 15, 16, 36, 35, 16, 17, 37, 36, 17, 18, 38, 37, 18, 19, 39, 38, 19, 0, 20, 39, 20, 21, 41, 40, 21, 22, 42, 41, 22, 23, 43, 42, 23, 24, 44, 43, 24, 25, 45, 44, 25, 26, 46, 45, 26, 27, 47, 46, 27, 28, 48, 47, 28, 29, 49, 48, 29, 30, 50, 49, 30, 31, 51, 50, 31, 32, 52, 51, 32, 33, 53, 52, 33, 34, 54, 53, 34, 35, 55, 54, 35, 36, 56, 55, 36, 37, 57, 56, 37, 38, 58, 57, 38, 39, 59, 58, 39, 20, 40, 59, 40, 41, 61, 60, 41, 42, 62, 61, 42, 43, 63, 62, 43, 44, 64, 63, 44, 45, 65, 64, 45, 46, 66, 65, 46, 47, 67, 66, 47, 48, 68, 67, 48, 49, 69, 68, 49, 50, 70, 69, 50, 51, 71, 70, 51, 52, 72, 71, 52, 53, 73, 72, 53, 54, 74, 73, 54, 55, 75, 74, 55, 56, 76, 75, 56, 57, 77, 76, 57, 58, 78, 77, 58, 59, 79, 78, 59, 40, 60, 79, 60, 61, 81, 80, 61, 62, 82, 81, 62, 63, 83, 82, 63, 64, 84, 83, 64, 65, 85, 84, 65, 66, 86, 85, 66, 67, 87, 86, 67, 68, 88, 87, 68, 69, 89, 88, 69, 70, 90, 89, 70, 71, 91, 90, 71, 72, 92, 91, 72, 73, 93, 92, 73, 74, 94, 93, 74, 75, 95, 94, 75, 76, 96, 95, 76, 77, 97, 96, 77, 78, 98, 97, 78, 79, 99, 98, 79, 60, 80, 99, 80, 81, 101, 100, 81, 82, 102, 101, 82, 83, 103, 102, 83, 84, 104, 103, 84, 85, 105, 104, 85, 86, 106, 105, 86, 87, 107, 106, 87, 88, 108, 107, 88, 89, 109, 108, 89, 90, 110, 109, 90, 91, 111, 110, 91, 92, 112, 111, 92, 93, 113, 112, 93, 94, 114, 113, 94, 95, 115, 114, 95, 96, 116, 115, 96, 97, 117, 116, 97, 98, 118, 117, 98, 99, 119, 118, 99, 80, 100, 119, 100, 101, 121, 120, 101, 102, 122, 121, 102, 103, 123, 122, 103, 104, 124, 123, 104, 105, 125, 124, 105, 106, 126, 125, 106, 107, 127, 126, 107, 108, 128, 127, 108, 109, 129, 128, 109, 110, 130, 129, 110, 111, 131, 130, 111, 112, 132, 131, 112, 113, 133, 132, 113, 114, 134, 133, 114, 115, 135, 134, 115, 116, 136, 135, 116, 117, 137, 136, 117, 118, 138, 137, 118, 119, 139, 138, 119, 100, 120, 139, 120, 121, 141, 140, 121, 122, 142, 141, 122, 123, 143, 142, 123, 124, 144, 143, 124, 125, 145, 144, 125, 126, 146, 145, 126, 127, 147, 146, 127, 128, 148, 147, 128, 129, 149, 148, 129, 130, 150, 149, 130, 131, 151, 150, 131, 132, 152, 151, 132, 133, 153, 152, 133, 134, 154, 153, 134, 135, 155, 154, 135, 136, 156, 155, 136, 137, 157, 156, 137, 138, 158, 157, 138, 139, 159, 158, 139, 120, 140, 159, 140, 141, 161, 160, 141, 142, 162, 161, 142, 143, 163, 162, 143, 144, 164, 163, 144, 145, 165, 164, 145, 146, 166, 165, 146, 147, 167, 166, 147, 148, 168, 167, 148, 149, 169, 168, 149, 150, 170, 169, 150, 151, 171, 170, 151, 152, 172, 171, 152, 153, 173, 172, 153, 154, 174, 173, 154, 155, 175, 174, 155, 156, 176, 175, 156, 157, 177, 176, 157, 158, 178, 177, 158, 159, 179, 178, 159, 140, 160, 179, 160, 161, 181, 180, 161, 162, 182, 181, 162, 163, 183, 182, 163, 164, 184, 183, 164, 165, 185, 184, 165, 166, 186, 185, 166, 167, 187, 186, 167, 168, 188, 187, 168, 169, 189, 188, 169, 170, 190, 189, 170, 171, 191, 190, 171, 172, 192, 191, 172, 173, 193, 192, 173, 174, 194, 193, 174, 175, 195, 194, 175, 176, 196, 195, 176, 177, 197, 196, 177, 178, 198, 197, 178, 179, 199, 198, 179, 160, 180, 199, 180, 181, 201, 200, 181, 182, 202, 201, 182, 183, 203, 202, 183, 184, 204, 203, 184, 185, 205, 204, 185, 186, 206, 205, 186, 187, 207, 206, 187, 188, 208, 207, 188, 189, 209, 208, 189, 190, 210, 209, 190, 191, 211, 210, 191, 192, 212, 211, 192, 193, 213, 212, 193, 194, 214, 213, 194, 195, 215, 214, 195, 196, 216, 215, 196, 197, 217, 216, 197, 198, 218, 217, 198, 199, 219, 218, 199, 180, 200, 219, 200, 201, 221, 220, 201, 202, 222, 221, 202, 203, 223, 222, 203, 204, 224, 223, 204, 205, 225, 224, 205, 206, 226, 225, 206, 207, 227, 226, 207, 208, 228, 227, 208, 209, 229, 228, 209, 210, 230, 229, 210, 211, 231, 230, 211, 212, 232, 231, 212, 213, 233, 232, 213, 214, 234, 233, 214, 215, 235, 234, 215, 216, 236, 235, 216, 217, 237, 236, 217, 218, 238, 237, 218, 219, 239, 238, 219, 200, 220, 239, 220, 221, 241, 240, 221, 222, 242, 241, 222, 223, 243, 242, 223, 224, 244, 243, 224, 225, 245, 244, 225, 226, 246, 245, 226, 227, 247, 246, 227, 228, 248, 247, 228, 229, 249, 248, 229, 230, 250, 249, 230, 231, 251, 250, 231, 232, 252, 251, 232, 233, 253, 252, 233, 234, 254, 253, 234, 235, 255, 254, 235, 236, 256, 255, 236, 237, 257, 256, 237, 238, 258, 257, 238, 239, 259, 258, 239, 220, 240, 259, 240, 241, 261, 260, 241, 242, 262, 261, 242, 243, 263, 262, 243, 244, 264, 263, 244, 245, 265, 264, 245, 246, 266, 265, 246, 247, 267, 266, 247, 248, 268, 267, 248, 249, 269, 268, 249, 250, 270, 269, 250, 251, 271, 270, 251, 252, 272, 271, 252, 253, 273, 272, 253, 254, 274, 273, 254, 255, 275, 274, 255, 256, 276, 275, 256, 257, 277, 276, 257, 258, 278, 277, 258, 259, 279, 278, 259, 240, 260, 279, 260, 261, 281, 280, 261, 262, 282, 281, 262, 263, 283, 282, 263, 264, 284, 283, 264, 265, 285, 284, 265, 266, 286, 285, 266, 267, 287, 286, 267, 268, 288, 287, 268, 269, 289, 288, 269, 270, 290, 289, 270, 271, 291, 290, 271, 272, 292, 291, 272, 273, 293, 292, 273, 274, 294, 293, 274, 275, 295, 294, 275, 276, 296, 295, 276, 277, 297, 296, 277, 278, 298, 297, 278, 279, 299, 298, 279, 260, 280, 299, 280, 281, 301, 300, 281, 282, 302, 301, 282, 283, 303, 302, 283, 284, 304, 303, 284, 285, 305, 304, 285, 286, 306, 305, 286, 287, 307, 306, 287, 288, 308, 307, 288, 289, 309, 308, 289, 290, 310, 309, 290, 291, 311, 310, 291, 292, 312, 311, 292, 293, 313, 312, 293, 294, 314, 313, 294, 295, 315, 314, 295, 296, 316, 315, 296, 297, 317, 316, 297, 298, 318, 317, 298, 299, 319, 318, 299, 280, 300, 319, 300, 301, 321, 320, 301, 302, 322, 321, 302, 303, 323, 322, 303, 304, 324, 323, 304, 305, 325, 324, 305, 306, 326, 325, 306, 307, 327, 326, 307, 308, 328, 327, 308, 309, 329, 328, 309, 310, 330, 329, 310, 311, 331, 330, 311, 312, 332, 331, 312, 313, 333, 332, 313, 314, 334, 333, 314, 315, 335, 334, 315, 316, 336, 335, 316, 317, 337, 336, 317, 318, 338, 337, 318, 319, 339, 338, 319, 300, 320, 339, 320, 321, 341, 340, 321, 322, 342, 341, 322, 323, 343, 342, 323, 324, 344, 343, 324, 325, 345, 344, 325, 326, 346, 345, 326, 327, 347, 346, 327, 328, 348, 347, 328, 329, 349, 348, 329, 330, 350, 349, 330, 331, 351, 350, 331, 332, 352, 351, 332, 333, 353, 352, 333, 334, 354, 353, 334, 335, 355, 354, 335, 336, 356, 355, 336, 337, 357, 356, 337, 338, 358, 357, 338, 339, 359, 358, 339, 320, 340, 359, 340, 341, 361, 360, 341, 342, 362, 361, 342, 343, 363, 362, 343, 344, 364, 363, 344, 345, 365, 364, 345, 346, 366, 365, 346, 347, 367, 366, 347, 348, 368, 367, 348, 349, 369, 368, 349, 350, 370, 369, 350, 351, 371, 370, 351, 352, 372, 371, 352, 353, 373, 372, 353, 354, 374, 373, 354, 355, 375, 374, 355, 356, 376, 375, 356, 357, 377, 376, 357, 358, 378, 377, 358, 359, 379, 378, 359, 340, 360, 379, 1, 0, 380, 2, 1, 380, 3, 2, 380, 4, 3, 380, 5, 4, 380, 6, 5, 380, 7, 6, 380, 8, 7, 380, 9, 8, 380, 10, 9, 380, 11, 10, 380, 12, 11, 380, 13, 12, 380, 14, 13, 380, 15, 14, 380, 16, 15, 380, 17, 16, 380, 18, 17, 380, 19, 18, 380, 0, 19, 380, 360, 361, 381, 361, 362, 381, 362, 363, 381, 363, 364, 381, 364, 365, 381, 365, 366, 381, 366, 367, 381, 367, 368, 381, 368, 369, 381, 369, 370, 381, 370, 371, 381, 371, 372, 381, 372, 373, 381, 373, 374, 381, 374, 375, 381, 375, 376, 381, 376, 377, 381, 377, 378, 381, 378, 379, 381, 379, 360, 381] + rel material:binding = + point3f[] points = [(0.14877813, -0.98768836, -0.048340943), (0.12655823, -0.98768836, -0.09194993), (0.09194993, -0.98768836, -0.12655823), (0.048340935, -0.98768836, -0.14877811), (0, -0.98768836, -0.15643455), (-0.048340935, -0.98768836, -0.1487781), (-0.09194992, -0.98768836, -0.1265582), (-0.12655818, -0.98768836, -0.0919499), (-0.14877807, -0.98768836, -0.048340924), (-0.15643452, -0.98768836, 0), (-0.14877807, -0.98768836, 0.048340924), (-0.12655818, -0.98768836, 0.091949895), (-0.091949895, -0.98768836, 0.12655817), (-0.048340924, -0.98768836, 0.14877805), (-4.6621107e-9, -0.98768836, 0.15643449), (0.04834091, -0.98768836, 0.14877804), (0.09194988, -0.98768836, 0.12655815), (0.12655815, -0.98768836, 0.09194989), (0.14877804, -0.98768836, 0.048340913), (0.15643448, -0.98768836, 0), (0.29389283, -0.95105654, -0.095491566), (0.25000018, -0.95105654, -0.18163574), (0.18163574, -0.95105654, -0.25000015), (0.09549155, -0.95105654, -0.2938928), (0, -0.95105654, -0.30901715), (-0.09549155, -0.95105654, -0.29389277), (-0.18163571, -0.95105654, -0.2500001), (-0.2500001, -0.95105654, -0.1816357), (-0.2938927, -0.95105654, -0.09549153), (-0.30901706, -0.95105654, 0), (-0.2938927, -0.95105654, 0.09549153), (-0.25000006, -0.95105654, 0.18163568), (-0.18163568, -0.95105654, 0.25000006), (-0.09549153, -0.95105654, 0.29389268), (-9.209424e-9, -0.95105654, 0.30901703), (0.0954915, -0.95105654, 0.29389265), (0.18163563, -0.95105654, 0.25000003), (0.25, -0.95105654, 0.18163565), (0.29389265, -0.95105654, 0.095491506), (0.309017, -0.95105654, 0), (0.43177092, -0.8910065, -0.14029087), (0.3672863, -0.8910065, -0.2668491), (0.2668491, -0.8910065, -0.36728626), (0.14029086, -0.8910065, -0.43177086), (0, -0.8910065, -0.45399073), (-0.14029086, -0.8910065, -0.43177083), (-0.26684904, -0.8910065, -0.36728618), (-0.36728615, -0.8910065, -0.266849), (-0.43177077, -0.8910065, -0.14029081), (-0.45399064, -0.8910065, 0), (-0.43177077, -0.8910065, 0.14029081), (-0.36728612, -0.8910065, 0.26684898), (-0.26684898, -0.8910065, 0.36728612), (-0.14029081, -0.8910065, 0.4317707), (-1.3529972e-8, -0.8910065, 0.45399058), (0.14029078, -0.8910065, 0.43177068), (0.26684892, -0.8910065, 0.3672861), (0.36728606, -0.8910065, 0.26684895), (0.43177065, -0.8910065, 0.1402908), (0.45399052, -0.8910065, 0), (0.55901736, -0.809017, -0.18163574), (0.47552857, -0.809017, -0.3454917), (0.3454917, -0.809017, -0.47552854), (0.18163572, -0.809017, -0.5590173), (0, -0.809017, -0.58778554), (-0.18163572, -0.809017, -0.55901724), (-0.34549165, -0.809017, -0.47552842), (-0.4755284, -0.809017, -0.3454916), (-0.5590171, -0.809017, -0.18163566), (-0.58778536, -0.809017, 0), (-0.5590171, -0.809017, 0.18163566), (-0.47552836, -0.809017, 0.34549156), (-0.34549156, -0.809017, 0.47552833), (-0.18163566, -0.809017, 0.55901706), (-1.7517365e-8, -0.809017, 0.5877853), (0.18163562, -0.809017, 0.55901706), (0.3454915, -0.809017, 0.4755283), (0.47552827, -0.809017, 0.34549153), (0.559017, -0.809017, 0.18163563), (0.58778524, -0.809017, 0), (0.67249894, -0.70710677, -0.21850814), (0.5720618, -0.70710677, -0.41562718), (0.41562718, -0.70710677, -0.5720617), (0.21850812, -0.70710677, -0.6724989), (0, -0.70710677, -0.7071071), (-0.21850812, -0.70710677, -0.6724988), (-0.4156271, -0.70710677, -0.5720616), (-0.57206154, -0.70710677, -0.41562706), (-0.6724987, -0.70710677, -0.21850805), (-0.70710695, -0.70710677, 0), (-0.6724987, -0.70710677, 0.21850805), (-0.57206154, -0.70710677, 0.415627), (-0.415627, -0.70710677, 0.5720615), (-0.21850805, -0.70710677, 0.6724986), (-2.1073424e-8, -0.70710677, 0.7071068), (0.21850799, -0.70710677, 0.6724986), (0.4156269, -0.70710677, 0.5720614), (0.5720614, -0.70710677, 0.41562697), (0.6724985, -0.70710677, 0.21850802), (0.70710677, -0.70710677, 0), (0.7694214, -0.58778524, -0.25000015), (0.65450895, -0.58778524, -0.47552854), (0.47552854, -0.58778524, -0.6545089), (0.25000012, -0.58778524, -0.7694213), (0, -0.58778524, -0.80901736), (-0.25000012, -0.58778524, -0.7694212), (-0.47552845, -0.58778524, -0.65450877), (-0.6545087, -0.58778524, -0.4755284), (-0.7694211, -0.58778524, -0.25000006), (-0.8090172, -0.58778524, 0), (-0.7694211, -0.58778524, 0.25000006), (-0.65450865, -0.58778524, 0.47552836), (-0.47552836, -0.58778524, 0.6545086), (-0.25000006, -0.58778524, 0.769421), (-2.4110586e-8, -0.58778524, 0.8090171), (0.24999999, -0.58778524, 0.769421), (0.47552827, -0.58778524, 0.65450853), (0.65450853, -0.58778524, 0.4755283), (0.7694209, -0.58778524, 0.25), (0.809017, -0.58778524, 0), (0.8473981, -0.45399052, -0.27533633), (0.7208399, -0.45399052, -0.5237208), (0.5237208, -0.45399052, -0.72083986), (0.2753363, -0.45399052, -0.847398), (0, -0.45399052, -0.89100695), (-0.2753363, -0.45399052, -0.847398), (-0.5237207, -0.45399052, -0.7208397), (-0.7208396, -0.45399052, -0.5237206), (-0.8473978, -0.45399052, -0.2753362), (-0.89100677, -0.45399052, 0), (-0.8473978, -0.45399052, 0.2753362), (-0.7208396, -0.45399052, 0.5237206), (-0.5237206, -0.45399052, 0.72083956), (-0.2753362, -0.45399052, 0.8473977), (-2.6554064e-8, -0.45399052, 0.89100665), (0.27533615, -0.45399052, 0.8473976), (0.5237205, -0.45399052, 0.7208395), (0.72083944, -0.45399052, 0.52372056), (0.84739757, -0.45399052, 0.27533618), (0.8910065, -0.45399052, 0), (0.9045091, -0.30901697, -0.2938928), (0.7694214, -0.30901697, -0.55901736), (0.55901736, -0.30901697, -0.76942134), (0.29389277, -0.30901697, -0.904509), (0, -0.30901697, -0.951057), (-0.29389277, -0.30901697, -0.90450895), (-0.55901724, -0.30901697, -0.7694212), (-0.76942116, -0.30901697, -0.5590172), (-0.90450877, -0.30901697, -0.2938927), (-0.9510568, -0.30901697, 0), (-0.90450877, -0.30901697, 0.2938927), (-0.7694211, -0.30901697, 0.5590171), (-0.5590171, -0.30901697, 0.76942104), (-0.2938927, -0.30901697, 0.90450865), (-2.8343694e-8, -0.30901697, 0.95105666), (0.29389262, -0.30901697, 0.9045086), (0.559017, -0.30901697, 0.769421), (0.7694209, -0.30901697, 0.55901706), (0.90450853, -0.30901697, 0.29389265), (0.95105654, -0.30901697, 0), (0.93934804, -0.15643437, -0.30521268), (0.7990572, -0.15643437, -0.580549), (0.580549, -0.15643437, -0.7990571), (0.30521265, -0.15643437, -0.9393479), (0, -0.15643437, -0.98768884), (-0.30521265, -0.15643437, -0.93934786), (-0.5805489, -0.15643437, -0.79905695), (-0.7990569, -0.15643437, -0.5805488), (-0.9393477, -0.15643437, -0.30521256), (-0.9876886, -0.15643437, 0), (-0.9393477, -0.15643437, 0.30521256), (-0.7990568, -0.15643437, 0.58054876), (-0.58054876, -0.15643437, 0.79905677), (-0.30521256, -0.15643437, 0.93934757), (-2.9435407e-8, -0.15643437, 0.9876885), (0.30521247, -0.15643437, 0.93934757), (0.58054864, -0.15643437, 0.7990567), (0.79905665, -0.15643437, 0.5805487), (0.9393475, -0.15643437, 0.3052125), (0.98768836, -0.15643437, 0), (0.95105714, 0, -0.30901718), (0.80901754, 0, -0.5877856), (0.5877856, 0, -0.8090175), (0.30901715, 0, -0.951057), (0, 0, -1.0000005), (-0.30901715, 0, -0.95105696), (-0.5877855, 0, -0.8090173), (-0.80901724, 0, -0.5877854), (-0.9510568, 0, -0.30901706), (-1.0000002, 0, 0), (-0.9510568, 0, 0.30901706), (-0.8090172, 0, 0.58778536), (-0.58778536, 0, 0.8090171), (-0.30901706, 0, 0.95105666), (-2.9802322e-8, 0, 1.0000001), (0.30901697, 0, 0.9510566), (0.58778524, 0, 0.80901706), (0.809017, 0, 0.5877853), (0.95105654, 0, 0.309017), (1, 0, 0), (0.93934804, 0.15643437, -0.30521268), (0.7990572, 0.15643437, -0.580549), (0.580549, 0.15643437, -0.7990571), (0.30521265, 0.15643437, -0.9393479), (0, 0.15643437, -0.98768884), (-0.30521265, 0.15643437, -0.93934786), (-0.5805489, 0.15643437, -0.79905695), (-0.7990569, 0.15643437, -0.5805488), (-0.9393477, 0.15643437, -0.30521256), (-0.9876886, 0.15643437, 0), (-0.9393477, 0.15643437, 0.30521256), (-0.7990568, 0.15643437, 0.58054876), (-0.58054876, 0.15643437, 0.79905677), (-0.30521256, 0.15643437, 0.93934757), (-2.9435407e-8, 0.15643437, 0.9876885), (0.30521247, 0.15643437, 0.93934757), (0.58054864, 0.15643437, 0.7990567), (0.79905665, 0.15643437, 0.5805487), (0.9393475, 0.15643437, 0.3052125), (0.98768836, 0.15643437, 0), (0.9045091, 0.30901697, -0.2938928), (0.7694214, 0.30901697, -0.55901736), (0.55901736, 0.30901697, -0.76942134), (0.29389277, 0.30901697, -0.904509), (0, 0.30901697, -0.951057), (-0.29389277, 0.30901697, -0.90450895), (-0.55901724, 0.30901697, -0.7694212), (-0.76942116, 0.30901697, -0.5590172), (-0.90450877, 0.30901697, -0.2938927), (-0.9510568, 0.30901697, 0), (-0.90450877, 0.30901697, 0.2938927), (-0.7694211, 0.30901697, 0.5590171), (-0.5590171, 0.30901697, 0.76942104), (-0.2938927, 0.30901697, 0.90450865), (-2.8343694e-8, 0.30901697, 0.95105666), (0.29389262, 0.30901697, 0.9045086), (0.559017, 0.30901697, 0.769421), (0.7694209, 0.30901697, 0.55901706), (0.90450853, 0.30901697, 0.29389265), (0.95105654, 0.30901697, 0), (0.8473981, 0.45399052, -0.27533633), (0.7208399, 0.45399052, -0.5237208), (0.5237208, 0.45399052, -0.72083986), (0.2753363, 0.45399052, -0.847398), (0, 0.45399052, -0.89100695), (-0.2753363, 0.45399052, -0.847398), (-0.5237207, 0.45399052, -0.7208397), (-0.7208396, 0.45399052, -0.5237206), (-0.8473978, 0.45399052, -0.2753362), (-0.89100677, 0.45399052, 0), (-0.8473978, 0.45399052, 0.2753362), (-0.7208396, 0.45399052, 0.5237206), (-0.5237206, 0.45399052, 0.72083956), (-0.2753362, 0.45399052, 0.8473977), (-2.6554064e-8, 0.45399052, 0.89100665), (0.27533615, 0.45399052, 0.8473976), (0.5237205, 0.45399052, 0.7208395), (0.72083944, 0.45399052, 0.52372056), (0.84739757, 0.45399052, 0.27533618), (0.8910065, 0.45399052, 0), (0.7694214, 0.58778524, -0.25000015), (0.65450895, 0.58778524, -0.47552854), (0.47552854, 0.58778524, -0.6545089), (0.25000012, 0.58778524, -0.7694213), (0, 0.58778524, -0.80901736), (-0.25000012, 0.58778524, -0.7694212), (-0.47552845, 0.58778524, -0.65450877), (-0.6545087, 0.58778524, -0.4755284), (-0.7694211, 0.58778524, -0.25000006), (-0.8090172, 0.58778524, 0), (-0.7694211, 0.58778524, 0.25000006), (-0.65450865, 0.58778524, 0.47552836), (-0.47552836, 0.58778524, 0.6545086), (-0.25000006, 0.58778524, 0.769421), (-2.4110586e-8, 0.58778524, 0.8090171), (0.24999999, 0.58778524, 0.769421), (0.47552827, 0.58778524, 0.65450853), (0.65450853, 0.58778524, 0.4755283), (0.7694209, 0.58778524, 0.25), (0.809017, 0.58778524, 0), (0.67249894, 0.70710677, -0.21850814), (0.5720618, 0.70710677, -0.41562718), (0.41562718, 0.70710677, -0.5720617), (0.21850812, 0.70710677, -0.6724989), (0, 0.70710677, -0.7071071), (-0.21850812, 0.70710677, -0.6724988), (-0.4156271, 0.70710677, -0.5720616), (-0.57206154, 0.70710677, -0.41562706), (-0.6724987, 0.70710677, -0.21850805), (-0.70710695, 0.70710677, 0), (-0.6724987, 0.70710677, 0.21850805), (-0.57206154, 0.70710677, 0.415627), (-0.415627, 0.70710677, 0.5720615), (-0.21850805, 0.70710677, 0.6724986), (-2.1073424e-8, 0.70710677, 0.7071068), (0.21850799, 0.70710677, 0.6724986), (0.4156269, 0.70710677, 0.5720614), (0.5720614, 0.70710677, 0.41562697), (0.6724985, 0.70710677, 0.21850802), (0.70710677, 0.70710677, 0), (0.55901736, 0.809017, -0.18163574), (0.47552857, 0.809017, -0.3454917), (0.3454917, 0.809017, -0.47552854), (0.18163572, 0.809017, -0.5590173), (0, 0.809017, -0.58778554), (-0.18163572, 0.809017, -0.55901724), (-0.34549165, 0.809017, -0.47552842), (-0.4755284, 0.809017, -0.3454916), (-0.5590171, 0.809017, -0.18163566), (-0.58778536, 0.809017, 0), (-0.5590171, 0.809017, 0.18163566), (-0.47552836, 0.809017, 0.34549156), (-0.34549156, 0.809017, 0.47552833), (-0.18163566, 0.809017, 0.55901706), (-1.7517365e-8, 0.809017, 0.5877853), (0.18163562, 0.809017, 0.55901706), (0.3454915, 0.809017, 0.4755283), (0.47552827, 0.809017, 0.34549153), (0.559017, 0.809017, 0.18163563), (0.58778524, 0.809017, 0), (0.43177092, 0.8910065, -0.14029087), (0.3672863, 0.8910065, -0.2668491), (0.2668491, 0.8910065, -0.36728626), (0.14029086, 0.8910065, -0.43177086), (0, 0.8910065, -0.45399073), (-0.14029086, 0.8910065, -0.43177083), (-0.26684904, 0.8910065, -0.36728618), (-0.36728615, 0.8910065, -0.266849), (-0.43177077, 0.8910065, -0.14029081), (-0.45399064, 0.8910065, 0), (-0.43177077, 0.8910065, 0.14029081), (-0.36728612, 0.8910065, 0.26684898), (-0.26684898, 0.8910065, 0.36728612), (-0.14029081, 0.8910065, 0.4317707), (-1.3529972e-8, 0.8910065, 0.45399058), (0.14029078, 0.8910065, 0.43177068), (0.26684892, 0.8910065, 0.3672861), (0.36728606, 0.8910065, 0.26684895), (0.43177065, 0.8910065, 0.1402908), (0.45399052, 0.8910065, 0), (0.29389283, 0.95105654, -0.095491566), (0.25000018, 0.95105654, -0.18163574), (0.18163574, 0.95105654, -0.25000015), (0.09549155, 0.95105654, -0.2938928), (0, 0.95105654, -0.30901715), (-0.09549155, 0.95105654, -0.29389277), (-0.18163571, 0.95105654, -0.2500001), (-0.2500001, 0.95105654, -0.1816357), (-0.2938927, 0.95105654, -0.09549153), (-0.30901706, 0.95105654, 0), (-0.2938927, 0.95105654, 0.09549153), (-0.25000006, 0.95105654, 0.18163568), (-0.18163568, 0.95105654, 0.25000006), (-0.09549153, 0.95105654, 0.29389268), (-9.209424e-9, 0.95105654, 0.30901703), (0.0954915, 0.95105654, 0.29389265), (0.18163563, 0.95105654, 0.25000003), (0.25, 0.95105654, 0.18163565), (0.29389265, 0.95105654, 0.095491506), (0.309017, 0.95105654, 0), (0.14877813, 0.98768836, -0.048340943), (0.12655823, 0.98768836, -0.09194993), (0.09194993, 0.98768836, -0.12655823), (0.048340935, 0.98768836, -0.14877811), (0, 0.98768836, -0.15643455), (-0.048340935, 0.98768836, -0.1487781), (-0.09194992, 0.98768836, -0.1265582), (-0.12655818, 0.98768836, -0.0919499), (-0.14877807, 0.98768836, -0.048340924), (-0.15643452, 0.98768836, 0), (-0.14877807, 0.98768836, 0.048340924), (-0.12655818, 0.98768836, 0.091949895), (-0.091949895, 0.98768836, 0.12655817), (-0.048340924, 0.98768836, 0.14877805), (-4.6621107e-9, 0.98768836, 0.15643449), (0.04834091, 0.98768836, 0.14877804), (0.09194988, 0.98768836, 0.12655815), (0.12655815, 0.98768836, 0.09194989), (0.14877804, 0.98768836, 0.048340913), (0.15643448, 0.98768836, 0), (0, -1, 0), (0, 1, 0)] + color3f[] primvars:displayColor = [(1, 0, 0)] ( + customData = { + dictionary Maya = { + bool generated = 1 + } + } + ) + texCoord2f[] primvars:st = [(0, 0.05), (0.05, 0.05), (0.1, 0.05), (0.15, 0.05), (0.2, 0.05), (0.25, 0.05), (0.3, 0.05), (0.35000002, 0.05), (0.40000004, 0.05), (0.45000005, 0.05), (0.50000006, 0.05), (0.5500001, 0.05), (0.6000001, 0.05), (0.6500001, 0.05), (0.7000001, 0.05), (0.7500001, 0.05), (0.80000013, 0.05), (0.85000014, 0.05), (0.90000015, 0.05), (0.95000017, 0.05), (1.0000001, 0.05), (0, 0.1), (0.05, 0.1), (0.1, 0.1), (0.15, 0.1), (0.2, 0.1), (0.25, 0.1), (0.3, 0.1), (0.35000002, 0.1), (0.40000004, 0.1), (0.45000005, 0.1), (0.50000006, 0.1), (0.5500001, 0.1), (0.6000001, 0.1), (0.6500001, 0.1), (0.7000001, 0.1), (0.7500001, 0.1), (0.80000013, 0.1), (0.85000014, 0.1), (0.90000015, 0.1), (0.95000017, 0.1), (1.0000001, 0.1), (0, 0.15), (0.05, 0.15), (0.1, 0.15), (0.15, 0.15), (0.2, 0.15), (0.25, 0.15), (0.3, 0.15), (0.35000002, 0.15), (0.40000004, 0.15), (0.45000005, 0.15), (0.50000006, 0.15), (0.5500001, 0.15), (0.6000001, 0.15), (0.6500001, 0.15), (0.7000001, 0.15), (0.7500001, 0.15), (0.80000013, 0.15), (0.85000014, 0.15), (0.90000015, 0.15), (0.95000017, 0.15), (1.0000001, 0.15), (0, 0.2), (0.05, 0.2), (0.1, 0.2), (0.15, 0.2), (0.2, 0.2), (0.25, 0.2), (0.3, 0.2), (0.35000002, 0.2), (0.40000004, 0.2), (0.45000005, 0.2), (0.50000006, 0.2), (0.5500001, 0.2), (0.6000001, 0.2), (0.6500001, 0.2), (0.7000001, 0.2), (0.7500001, 0.2), (0.80000013, 0.2), (0.85000014, 0.2), (0.90000015, 0.2), (0.95000017, 0.2), (1.0000001, 0.2), (0, 0.25), (0.05, 0.25), (0.1, 0.25), (0.15, 0.25), (0.2, 0.25), (0.25, 0.25), (0.3, 0.25), (0.35000002, 0.25), (0.40000004, 0.25), (0.45000005, 0.25), (0.50000006, 0.25), (0.5500001, 0.25), (0.6000001, 0.25), (0.6500001, 0.25), (0.7000001, 0.25), (0.7500001, 0.25), (0.80000013, 0.25), (0.85000014, 0.25), (0.90000015, 0.25), (0.95000017, 0.25), (1.0000001, 0.25), (0, 0.3), (0.05, 0.3), (0.1, 0.3), (0.15, 0.3), (0.2, 0.3), (0.25, 0.3), (0.3, 0.3), (0.35000002, 0.3), (0.40000004, 0.3), (0.45000005, 0.3), (0.50000006, 0.3), (0.5500001, 0.3), (0.6000001, 0.3), (0.6500001, 0.3), (0.7000001, 0.3), (0.7500001, 0.3), (0.80000013, 0.3), (0.85000014, 0.3), (0.90000015, 0.3), (0.95000017, 0.3), (1.0000001, 0.3), (0, 0.35000002), (0.05, 0.35000002), (0.1, 0.35000002), (0.15, 0.35000002), (0.2, 0.35000002), (0.25, 0.35000002), (0.3, 0.35000002), (0.35000002, 0.35000002), (0.40000004, 0.35000002), (0.45000005, 0.35000002), (0.50000006, 0.35000002), (0.5500001, 0.35000002), (0.6000001, 0.35000002), (0.6500001, 0.35000002), (0.7000001, 0.35000002), (0.7500001, 0.35000002), (0.80000013, 0.35000002), (0.85000014, 0.35000002), (0.90000015, 0.35000002), (0.95000017, 0.35000002), (1.0000001, 0.35000002), (0, 0.40000004), (0.05, 0.40000004), (0.1, 0.40000004), (0.15, 0.40000004), (0.2, 0.40000004), (0.25, 0.40000004), (0.3, 0.40000004), (0.35000002, 0.40000004), (0.40000004, 0.40000004), (0.45000005, 0.40000004), (0.50000006, 0.40000004), (0.5500001, 0.40000004), (0.6000001, 0.40000004), (0.6500001, 0.40000004), (0.7000001, 0.40000004), (0.7500001, 0.40000004), (0.80000013, 0.40000004), (0.85000014, 0.40000004), (0.90000015, 0.40000004), (0.95000017, 0.40000004), (1.0000001, 0.40000004), (0, 0.45000005), (0.05, 0.45000005), (0.1, 0.45000005), (0.15, 0.45000005), (0.2, 0.45000005), (0.25, 0.45000005), (0.3, 0.45000005), (0.35000002, 0.45000005), (0.40000004, 0.45000005), (0.45000005, 0.45000005), (0.50000006, 0.45000005), (0.5500001, 0.45000005), (0.6000001, 0.45000005), (0.6500001, 0.45000005), (0.7000001, 0.45000005), (0.7500001, 0.45000005), (0.80000013, 0.45000005), (0.85000014, 0.45000005), (0.90000015, 0.45000005), (0.95000017, 0.45000005), (1.0000001, 0.45000005), (0, 0.50000006), (0.05, 0.50000006), (0.1, 0.50000006), (0.15, 0.50000006), (0.2, 0.50000006), (0.25, 0.50000006), (0.3, 0.50000006), (0.35000002, 0.50000006), (0.40000004, 0.50000006), (0.45000005, 0.50000006), (0.50000006, 0.50000006), (0.5500001, 0.50000006), (0.6000001, 0.50000006), (0.6500001, 0.50000006), (0.7000001, 0.50000006), (0.7500001, 0.50000006), (0.80000013, 0.50000006), (0.85000014, 0.50000006), (0.90000015, 0.50000006), (0.95000017, 0.50000006), (1.0000001, 0.50000006), (0, 0.5500001), (0.05, 0.5500001), (0.1, 0.5500001), (0.15, 0.5500001), (0.2, 0.5500001), (0.25, 0.5500001), (0.3, 0.5500001), (0.35000002, 0.5500001), (0.40000004, 0.5500001), (0.45000005, 0.5500001), (0.50000006, 0.5500001), (0.5500001, 0.5500001), (0.6000001, 0.5500001), (0.6500001, 0.5500001), (0.7000001, 0.5500001), (0.7500001, 0.5500001), (0.80000013, 0.5500001), (0.85000014, 0.5500001), (0.90000015, 0.5500001), (0.95000017, 0.5500001), (1.0000001, 0.5500001), (0, 0.6000001), (0.05, 0.6000001), (0.1, 0.6000001), (0.15, 0.6000001), (0.2, 0.6000001), (0.25, 0.6000001), (0.3, 0.6000001), (0.35000002, 0.6000001), (0.40000004, 0.6000001), (0.45000005, 0.6000001), (0.50000006, 0.6000001), (0.5500001, 0.6000001), (0.6000001, 0.6000001), (0.6500001, 0.6000001), (0.7000001, 0.6000001), (0.7500001, 0.6000001), (0.80000013, 0.6000001), (0.85000014, 0.6000001), (0.90000015, 0.6000001), (0.95000017, 0.6000001), (1.0000001, 0.6000001), (0, 0.6500001), (0.05, 0.6500001), (0.1, 0.6500001), (0.15, 0.6500001), (0.2, 0.6500001), (0.25, 0.6500001), (0.3, 0.6500001), (0.35000002, 0.6500001), (0.40000004, 0.6500001), (0.45000005, 0.6500001), (0.50000006, 0.6500001), (0.5500001, 0.6500001), (0.6000001, 0.6500001), (0.6500001, 0.6500001), (0.7000001, 0.6500001), (0.7500001, 0.6500001), (0.80000013, 0.6500001), (0.85000014, 0.6500001), (0.90000015, 0.6500001), (0.95000017, 0.6500001), (1.0000001, 0.6500001), (0, 0.7000001), (0.05, 0.7000001), (0.1, 0.7000001), (0.15, 0.7000001), (0.2, 0.7000001), (0.25, 0.7000001), (0.3, 0.7000001), (0.35000002, 0.7000001), (0.40000004, 0.7000001), (0.45000005, 0.7000001), (0.50000006, 0.7000001), (0.5500001, 0.7000001), (0.6000001, 0.7000001), (0.6500001, 0.7000001), (0.7000001, 0.7000001), (0.7500001, 0.7000001), (0.80000013, 0.7000001), (0.85000014, 0.7000001), (0.90000015, 0.7000001), (0.95000017, 0.7000001), (1.0000001, 0.7000001), (0, 0.7500001), (0.05, 0.7500001), (0.1, 0.7500001), (0.15, 0.7500001), (0.2, 0.7500001), (0.25, 0.7500001), (0.3, 0.7500001), (0.35000002, 0.7500001), (0.40000004, 0.7500001), (0.45000005, 0.7500001), (0.50000006, 0.7500001), (0.5500001, 0.7500001), (0.6000001, 0.7500001), (0.6500001, 0.7500001), (0.7000001, 0.7500001), (0.7500001, 0.7500001), (0.80000013, 0.7500001), (0.85000014, 0.7500001), (0.90000015, 0.7500001), (0.95000017, 0.7500001), (1.0000001, 0.7500001), (0, 0.80000013), (0.05, 0.80000013), (0.1, 0.80000013), (0.15, 0.80000013), (0.2, 0.80000013), (0.25, 0.80000013), (0.3, 0.80000013), (0.35000002, 0.80000013), (0.40000004, 0.80000013), (0.45000005, 0.80000013), (0.50000006, 0.80000013), (0.5500001, 0.80000013), (0.6000001, 0.80000013), (0.6500001, 0.80000013), (0.7000001, 0.80000013), (0.7500001, 0.80000013), (0.80000013, 0.80000013), (0.85000014, 0.80000013), (0.90000015, 0.80000013), (0.95000017, 0.80000013), (1.0000001, 0.80000013), (0, 0.85000014), (0.05, 0.85000014), (0.1, 0.85000014), (0.15, 0.85000014), (0.2, 0.85000014), (0.25, 0.85000014), (0.3, 0.85000014), (0.35000002, 0.85000014), (0.40000004, 0.85000014), (0.45000005, 0.85000014), (0.50000006, 0.85000014), (0.5500001, 0.85000014), (0.6000001, 0.85000014), (0.6500001, 0.85000014), (0.7000001, 0.85000014), (0.7500001, 0.85000014), (0.80000013, 0.85000014), (0.85000014, 0.85000014), (0.90000015, 0.85000014), (0.95000017, 0.85000014), (1.0000001, 0.85000014), (0, 0.90000015), (0.05, 0.90000015), (0.1, 0.90000015), (0.15, 0.90000015), (0.2, 0.90000015), (0.25, 0.90000015), (0.3, 0.90000015), (0.35000002, 0.90000015), (0.40000004, 0.90000015), (0.45000005, 0.90000015), (0.50000006, 0.90000015), (0.5500001, 0.90000015), (0.6000001, 0.90000015), (0.6500001, 0.90000015), (0.7000001, 0.90000015), (0.7500001, 0.90000015), (0.80000013, 0.90000015), (0.85000014, 0.90000015), (0.90000015, 0.90000015), (0.95000017, 0.90000015), (1.0000001, 0.90000015), (0, 0.95000017), (0.05, 0.95000017), (0.1, 0.95000017), (0.15, 0.95000017), (0.2, 0.95000017), (0.25, 0.95000017), (0.3, 0.95000017), (0.35000002, 0.95000017), (0.40000004, 0.95000017), (0.45000005, 0.95000017), (0.50000006, 0.95000017), (0.5500001, 0.95000017), (0.6000001, 0.95000017), (0.6500001, 0.95000017), (0.7000001, 0.95000017), (0.7500001, 0.95000017), (0.80000013, 0.95000017), (0.85000014, 0.95000017), (0.90000015, 0.95000017), (0.95000017, 0.95000017), (1.0000001, 0.95000017), (0.025, 0), (0.075, 0), (0.125, 0), (0.17500001, 0), (0.22500001, 0), (0.275, 0), (0.32500002, 0), (0.375, 0), (0.425, 0), (0.47500002, 0), (0.525, 0), (0.575, 0), (0.625, 0), (0.675, 0), (0.72499996, 0), (0.775, 0), (0.825, 0), (0.875, 0), (0.925, 0), (0.97499996, 0), (0.025, 1), (0.075, 1), (0.125, 1), (0.17500001, 1), (0.22500001, 1), (0.275, 1), (0.32500002, 1), (0.375, 1), (0.425, 1), (0.47500002, 1), (0.525, 1), (0.575, 1), (0.625, 1), (0.675, 1), (0.72499996, 1), (0.775, 1), (0.825, 1), (0.875, 1), (0.925, 1), (0.97499996, 1)] ( + customData = { + dictionary Maya = { + token name = "map1" + } + } + interpolation = "faceVarying" + ) + int[] primvars:st:indices = [0, 1, 22, 21, 1, 2, 23, 22, 2, 3, 24, 23, 3, 4, 25, 24, 4, 5, 26, 25, 5, 6, 27, 26, 6, 7, 28, 27, 7, 8, 29, 28, 8, 9, 30, 29, 9, 10, 31, 30, 10, 11, 32, 31, 11, 12, 33, 32, 12, 13, 34, 33, 13, 14, 35, 34, 14, 15, 36, 35, 15, 16, 37, 36, 16, 17, 38, 37, 17, 18, 39, 38, 18, 19, 40, 39, 19, 20, 41, 40, 21, 22, 43, 42, 22, 23, 44, 43, 23, 24, 45, 44, 24, 25, 46, 45, 25, 26, 47, 46, 26, 27, 48, 47, 27, 28, 49, 48, 28, 29, 50, 49, 29, 30, 51, 50, 30, 31, 52, 51, 31, 32, 53, 52, 32, 33, 54, 53, 33, 34, 55, 54, 34, 35, 56, 55, 35, 36, 57, 56, 36, 37, 58, 57, 37, 38, 59, 58, 38, 39, 60, 59, 39, 40, 61, 60, 40, 41, 62, 61, 42, 43, 64, 63, 43, 44, 65, 64, 44, 45, 66, 65, 45, 46, 67, 66, 46, 47, 68, 67, 47, 48, 69, 68, 48, 49, 70, 69, 49, 50, 71, 70, 50, 51, 72, 71, 51, 52, 73, 72, 52, 53, 74, 73, 53, 54, 75, 74, 54, 55, 76, 75, 55, 56, 77, 76, 56, 57, 78, 77, 57, 58, 79, 78, 58, 59, 80, 79, 59, 60, 81, 80, 60, 61, 82, 81, 61, 62, 83, 82, 63, 64, 85, 84, 64, 65, 86, 85, 65, 66, 87, 86, 66, 67, 88, 87, 67, 68, 89, 88, 68, 69, 90, 89, 69, 70, 91, 90, 70, 71, 92, 91, 71, 72, 93, 92, 72, 73, 94, 93, 73, 74, 95, 94, 74, 75, 96, 95, 75, 76, 97, 96, 76, 77, 98, 97, 77, 78, 99, 98, 78, 79, 100, 99, 79, 80, 101, 100, 80, 81, 102, 101, 81, 82, 103, 102, 82, 83, 104, 103, 84, 85, 106, 105, 85, 86, 107, 106, 86, 87, 108, 107, 87, 88, 109, 108, 88, 89, 110, 109, 89, 90, 111, 110, 90, 91, 112, 111, 91, 92, 113, 112, 92, 93, 114, 113, 93, 94, 115, 114, 94, 95, 116, 115, 95, 96, 117, 116, 96, 97, 118, 117, 97, 98, 119, 118, 98, 99, 120, 119, 99, 100, 121, 120, 100, 101, 122, 121, 101, 102, 123, 122, 102, 103, 124, 123, 103, 104, 125, 124, 105, 106, 127, 126, 106, 107, 128, 127, 107, 108, 129, 128, 108, 109, 130, 129, 109, 110, 131, 130, 110, 111, 132, 131, 111, 112, 133, 132, 112, 113, 134, 133, 113, 114, 135, 134, 114, 115, 136, 135, 115, 116, 137, 136, 116, 117, 138, 137, 117, 118, 139, 138, 118, 119, 140, 139, 119, 120, 141, 140, 120, 121, 142, 141, 121, 122, 143, 142, 122, 123, 144, 143, 123, 124, 145, 144, 124, 125, 146, 145, 126, 127, 148, 147, 127, 128, 149, 148, 128, 129, 150, 149, 129, 130, 151, 150, 130, 131, 152, 151, 131, 132, 153, 152, 132, 133, 154, 153, 133, 134, 155, 154, 134, 135, 156, 155, 135, 136, 157, 156, 136, 137, 158, 157, 137, 138, 159, 158, 138, 139, 160, 159, 139, 140, 161, 160, 140, 141, 162, 161, 141, 142, 163, 162, 142, 143, 164, 163, 143, 144, 165, 164, 144, 145, 166, 165, 145, 146, 167, 166, 147, 148, 169, 168, 148, 149, 170, 169, 149, 150, 171, 170, 150, 151, 172, 171, 151, 152, 173, 172, 152, 153, 174, 173, 153, 154, 175, 174, 154, 155, 176, 175, 155, 156, 177, 176, 156, 157, 178, 177, 157, 158, 179, 178, 158, 159, 180, 179, 159, 160, 181, 180, 160, 161, 182, 181, 161, 162, 183, 182, 162, 163, 184, 183, 163, 164, 185, 184, 164, 165, 186, 185, 165, 166, 187, 186, 166, 167, 188, 187, 168, 169, 190, 189, 169, 170, 191, 190, 170, 171, 192, 191, 171, 172, 193, 192, 172, 173, 194, 193, 173, 174, 195, 194, 174, 175, 196, 195, 175, 176, 197, 196, 176, 177, 198, 197, 177, 178, 199, 198, 178, 179, 200, 199, 179, 180, 201, 200, 180, 181, 202, 201, 181, 182, 203, 202, 182, 183, 204, 203, 183, 184, 205, 204, 184, 185, 206, 205, 185, 186, 207, 206, 186, 187, 208, 207, 187, 188, 209, 208, 189, 190, 211, 210, 190, 191, 212, 211, 191, 192, 213, 212, 192, 193, 214, 213, 193, 194, 215, 214, 194, 195, 216, 215, 195, 196, 217, 216, 196, 197, 218, 217, 197, 198, 219, 218, 198, 199, 220, 219, 199, 200, 221, 220, 200, 201, 222, 221, 201, 202, 223, 222, 202, 203, 224, 223, 203, 204, 225, 224, 204, 205, 226, 225, 205, 206, 227, 226, 206, 207, 228, 227, 207, 208, 229, 228, 208, 209, 230, 229, 210, 211, 232, 231, 211, 212, 233, 232, 212, 213, 234, 233, 213, 214, 235, 234, 214, 215, 236, 235, 215, 216, 237, 236, 216, 217, 238, 237, 217, 218, 239, 238, 218, 219, 240, 239, 219, 220, 241, 240, 220, 221, 242, 241, 221, 222, 243, 242, 222, 223, 244, 243, 223, 224, 245, 244, 224, 225, 246, 245, 225, 226, 247, 246, 226, 227, 248, 247, 227, 228, 249, 248, 228, 229, 250, 249, 229, 230, 251, 250, 231, 232, 253, 252, 232, 233, 254, 253, 233, 234, 255, 254, 234, 235, 256, 255, 235, 236, 257, 256, 236, 237, 258, 257, 237, 238, 259, 258, 238, 239, 260, 259, 239, 240, 261, 260, 240, 241, 262, 261, 241, 242, 263, 262, 242, 243, 264, 263, 243, 244, 265, 264, 244, 245, 266, 265, 245, 246, 267, 266, 246, 247, 268, 267, 247, 248, 269, 268, 248, 249, 270, 269, 249, 250, 271, 270, 250, 251, 272, 271, 252, 253, 274, 273, 253, 254, 275, 274, 254, 255, 276, 275, 255, 256, 277, 276, 256, 257, 278, 277, 257, 258, 279, 278, 258, 259, 280, 279, 259, 260, 281, 280, 260, 261, 282, 281, 261, 262, 283, 282, 262, 263, 284, 283, 263, 264, 285, 284, 264, 265, 286, 285, 265, 266, 287, 286, 266, 267, 288, 287, 267, 268, 289, 288, 268, 269, 290, 289, 269, 270, 291, 290, 270, 271, 292, 291, 271, 272, 293, 292, 273, 274, 295, 294, 274, 275, 296, 295, 275, 276, 297, 296, 276, 277, 298, 297, 277, 278, 299, 298, 278, 279, 300, 299, 279, 280, 301, 300, 280, 281, 302, 301, 281, 282, 303, 302, 282, 283, 304, 303, 283, 284, 305, 304, 284, 285, 306, 305, 285, 286, 307, 306, 286, 287, 308, 307, 287, 288, 309, 308, 288, 289, 310, 309, 289, 290, 311, 310, 290, 291, 312, 311, 291, 292, 313, 312, 292, 293, 314, 313, 294, 295, 316, 315, 295, 296, 317, 316, 296, 297, 318, 317, 297, 298, 319, 318, 298, 299, 320, 319, 299, 300, 321, 320, 300, 301, 322, 321, 301, 302, 323, 322, 302, 303, 324, 323, 303, 304, 325, 324, 304, 305, 326, 325, 305, 306, 327, 326, 306, 307, 328, 327, 307, 308, 329, 328, 308, 309, 330, 329, 309, 310, 331, 330, 310, 311, 332, 331, 311, 312, 333, 332, 312, 313, 334, 333, 313, 314, 335, 334, 315, 316, 337, 336, 316, 317, 338, 337, 317, 318, 339, 338, 318, 319, 340, 339, 319, 320, 341, 340, 320, 321, 342, 341, 321, 322, 343, 342, 322, 323, 344, 343, 323, 324, 345, 344, 324, 325, 346, 345, 325, 326, 347, 346, 326, 327, 348, 347, 327, 328, 349, 348, 328, 329, 350, 349, 329, 330, 351, 350, 330, 331, 352, 351, 331, 332, 353, 352, 332, 333, 354, 353, 333, 334, 355, 354, 334, 335, 356, 355, 336, 337, 358, 357, 337, 338, 359, 358, 338, 339, 360, 359, 339, 340, 361, 360, 340, 341, 362, 361, 341, 342, 363, 362, 342, 343, 364, 363, 343, 344, 365, 364, 344, 345, 366, 365, 345, 346, 367, 366, 346, 347, 368, 367, 347, 348, 369, 368, 348, 349, 370, 369, 349, 350, 371, 370, 350, 351, 372, 371, 351, 352, 373, 372, 352, 353, 374, 373, 353, 354, 375, 374, 354, 355, 376, 375, 355, 356, 377, 376, 357, 358, 379, 378, 358, 359, 380, 379, 359, 360, 381, 380, 360, 361, 382, 381, 361, 362, 383, 382, 362, 363, 384, 383, 363, 364, 385, 384, 364, 365, 386, 385, 365, 366, 387, 386, 366, 367, 388, 387, 367, 368, 389, 388, 368, 369, 390, 389, 369, 370, 391, 390, 370, 371, 392, 391, 371, 372, 393, 392, 372, 373, 394, 393, 373, 374, 395, 394, 374, 375, 396, 395, 375, 376, 397, 396, 376, 377, 398, 397, 1, 0, 399, 2, 1, 400, 3, 2, 401, 4, 3, 402, 5, 4, 403, 6, 5, 404, 7, 6, 405, 8, 7, 406, 9, 8, 407, 10, 9, 408, 11, 10, 409, 12, 11, 410, 13, 12, 411, 14, 13, 412, 15, 14, 413, 16, 15, 414, 17, 16, 415, 18, 17, 416, 19, 18, 417, 20, 19, 418, 378, 379, 419, 379, 380, 420, 380, 381, 421, 381, 382, 422, 382, 383, 423, 383, 384, 424, 384, 385, 425, 385, 386, 426, 386, 387, 427, 387, 388, 428, 388, 389, 429, 389, 390, 430, 390, 391, 431, 391, 392, 432, 392, 393, 433, 393, 394, 434, 394, 395, 435, 395, 396, 436, 396, 397, 437, 397, 398, 438] + double3 xformOp:translate = (0, 1.3173888360140649, -3.8760321057281004) + uniform token[] xformOpOrder = ["xformOp:translate"] + + def Scope "mtl" + { + def Material "standardSurface2SG" + { + token outputs:surface.connect = + + def Shader "standardSurface2" + { + uniform token info:id = "UsdPreviewSurface" + float inputs:clearcoat = 0 + float inputs:clearcoatRoughness = 0.1 + color3f inputs:diffuseColor = (1, 0, 0) + color3f inputs:emissiveColor = (0, 0, 0) + float inputs:ior = 1.5 + float inputs:metallic = 0 + normal3f inputs:normal = (1, 1, 1) + float inputs:roughness = 0.2 + color3f inputs:specularColor = (1, 1, 1) + token outputs:displacement + token outputs:surface + } + } + } +} + +def Mesh "pSphere2" ( + prepend apiSchemas = ["MaterialBindingAPI"] + kind = "component" +) +{ + uniform bool doubleSided = 1 + float3[] extent = [(-1.0000002, -1, -1.0000005), (1, 1, 1.0000001)] + int[] faceVertexCounts = [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3] + int[] faceVertexIndices = [0, 1, 21, 20, 1, 2, 22, 21, 2, 3, 23, 22, 3, 4, 24, 23, 4, 5, 25, 24, 5, 6, 26, 25, 6, 7, 27, 26, 7, 8, 28, 27, 8, 9, 29, 28, 9, 10, 30, 29, 10, 11, 31, 30, 11, 12, 32, 31, 12, 13, 33, 32, 13, 14, 34, 33, 14, 15, 35, 34, 15, 16, 36, 35, 16, 17, 37, 36, 17, 18, 38, 37, 18, 19, 39, 38, 19, 0, 20, 39, 20, 21, 41, 40, 21, 22, 42, 41, 22, 23, 43, 42, 23, 24, 44, 43, 24, 25, 45, 44, 25, 26, 46, 45, 26, 27, 47, 46, 27, 28, 48, 47, 28, 29, 49, 48, 29, 30, 50, 49, 30, 31, 51, 50, 31, 32, 52, 51, 32, 33, 53, 52, 33, 34, 54, 53, 34, 35, 55, 54, 35, 36, 56, 55, 36, 37, 57, 56, 37, 38, 58, 57, 38, 39, 59, 58, 39, 20, 40, 59, 40, 41, 61, 60, 41, 42, 62, 61, 42, 43, 63, 62, 43, 44, 64, 63, 44, 45, 65, 64, 45, 46, 66, 65, 46, 47, 67, 66, 47, 48, 68, 67, 48, 49, 69, 68, 49, 50, 70, 69, 50, 51, 71, 70, 51, 52, 72, 71, 52, 53, 73, 72, 53, 54, 74, 73, 54, 55, 75, 74, 55, 56, 76, 75, 56, 57, 77, 76, 57, 58, 78, 77, 58, 59, 79, 78, 59, 40, 60, 79, 60, 61, 81, 80, 61, 62, 82, 81, 62, 63, 83, 82, 63, 64, 84, 83, 64, 65, 85, 84, 65, 66, 86, 85, 66, 67, 87, 86, 67, 68, 88, 87, 68, 69, 89, 88, 69, 70, 90, 89, 70, 71, 91, 90, 71, 72, 92, 91, 72, 73, 93, 92, 73, 74, 94, 93, 74, 75, 95, 94, 75, 76, 96, 95, 76, 77, 97, 96, 77, 78, 98, 97, 78, 79, 99, 98, 79, 60, 80, 99, 80, 81, 101, 100, 81, 82, 102, 101, 82, 83, 103, 102, 83, 84, 104, 103, 84, 85, 105, 104, 85, 86, 106, 105, 86, 87, 107, 106, 87, 88, 108, 107, 88, 89, 109, 108, 89, 90, 110, 109, 90, 91, 111, 110, 91, 92, 112, 111, 92, 93, 113, 112, 93, 94, 114, 113, 94, 95, 115, 114, 95, 96, 116, 115, 96, 97, 117, 116, 97, 98, 118, 117, 98, 99, 119, 118, 99, 80, 100, 119, 100, 101, 121, 120, 101, 102, 122, 121, 102, 103, 123, 122, 103, 104, 124, 123, 104, 105, 125, 124, 105, 106, 126, 125, 106, 107, 127, 126, 107, 108, 128, 127, 108, 109, 129, 128, 109, 110, 130, 129, 110, 111, 131, 130, 111, 112, 132, 131, 112, 113, 133, 132, 113, 114, 134, 133, 114, 115, 135, 134, 115, 116, 136, 135, 116, 117, 137, 136, 117, 118, 138, 137, 118, 119, 139, 138, 119, 100, 120, 139, 120, 121, 141, 140, 121, 122, 142, 141, 122, 123, 143, 142, 123, 124, 144, 143, 124, 125, 145, 144, 125, 126, 146, 145, 126, 127, 147, 146, 127, 128, 148, 147, 128, 129, 149, 148, 129, 130, 150, 149, 130, 131, 151, 150, 131, 132, 152, 151, 132, 133, 153, 152, 133, 134, 154, 153, 134, 135, 155, 154, 135, 136, 156, 155, 136, 137, 157, 156, 137, 138, 158, 157, 138, 139, 159, 158, 139, 120, 140, 159, 140, 141, 161, 160, 141, 142, 162, 161, 142, 143, 163, 162, 143, 144, 164, 163, 144, 145, 165, 164, 145, 146, 166, 165, 146, 147, 167, 166, 147, 148, 168, 167, 148, 149, 169, 168, 149, 150, 170, 169, 150, 151, 171, 170, 151, 152, 172, 171, 152, 153, 173, 172, 153, 154, 174, 173, 154, 155, 175, 174, 155, 156, 176, 175, 156, 157, 177, 176, 157, 158, 178, 177, 158, 159, 179, 178, 159, 140, 160, 179, 160, 161, 181, 180, 161, 162, 182, 181, 162, 163, 183, 182, 163, 164, 184, 183, 164, 165, 185, 184, 165, 166, 186, 185, 166, 167, 187, 186, 167, 168, 188, 187, 168, 169, 189, 188, 169, 170, 190, 189, 170, 171, 191, 190, 171, 172, 192, 191, 172, 173, 193, 192, 173, 174, 194, 193, 174, 175, 195, 194, 175, 176, 196, 195, 176, 177, 197, 196, 177, 178, 198, 197, 178, 179, 199, 198, 179, 160, 180, 199, 180, 181, 201, 200, 181, 182, 202, 201, 182, 183, 203, 202, 183, 184, 204, 203, 184, 185, 205, 204, 185, 186, 206, 205, 186, 187, 207, 206, 187, 188, 208, 207, 188, 189, 209, 208, 189, 190, 210, 209, 190, 191, 211, 210, 191, 192, 212, 211, 192, 193, 213, 212, 193, 194, 214, 213, 194, 195, 215, 214, 195, 196, 216, 215, 196, 197, 217, 216, 197, 198, 218, 217, 198, 199, 219, 218, 199, 180, 200, 219, 200, 201, 221, 220, 201, 202, 222, 221, 202, 203, 223, 222, 203, 204, 224, 223, 204, 205, 225, 224, 205, 206, 226, 225, 206, 207, 227, 226, 207, 208, 228, 227, 208, 209, 229, 228, 209, 210, 230, 229, 210, 211, 231, 230, 211, 212, 232, 231, 212, 213, 233, 232, 213, 214, 234, 233, 214, 215, 235, 234, 215, 216, 236, 235, 216, 217, 237, 236, 217, 218, 238, 237, 218, 219, 239, 238, 219, 200, 220, 239, 220, 221, 241, 240, 221, 222, 242, 241, 222, 223, 243, 242, 223, 224, 244, 243, 224, 225, 245, 244, 225, 226, 246, 245, 226, 227, 247, 246, 227, 228, 248, 247, 228, 229, 249, 248, 229, 230, 250, 249, 230, 231, 251, 250, 231, 232, 252, 251, 232, 233, 253, 252, 233, 234, 254, 253, 234, 235, 255, 254, 235, 236, 256, 255, 236, 237, 257, 256, 237, 238, 258, 257, 238, 239, 259, 258, 239, 220, 240, 259, 240, 241, 261, 260, 241, 242, 262, 261, 242, 243, 263, 262, 243, 244, 264, 263, 244, 245, 265, 264, 245, 246, 266, 265, 246, 247, 267, 266, 247, 248, 268, 267, 248, 249, 269, 268, 249, 250, 270, 269, 250, 251, 271, 270, 251, 252, 272, 271, 252, 253, 273, 272, 253, 254, 274, 273, 254, 255, 275, 274, 255, 256, 276, 275, 256, 257, 277, 276, 257, 258, 278, 277, 258, 259, 279, 278, 259, 240, 260, 279, 260, 261, 281, 280, 261, 262, 282, 281, 262, 263, 283, 282, 263, 264, 284, 283, 264, 265, 285, 284, 265, 266, 286, 285, 266, 267, 287, 286, 267, 268, 288, 287, 268, 269, 289, 288, 269, 270, 290, 289, 270, 271, 291, 290, 271, 272, 292, 291, 272, 273, 293, 292, 273, 274, 294, 293, 274, 275, 295, 294, 275, 276, 296, 295, 276, 277, 297, 296, 277, 278, 298, 297, 278, 279, 299, 298, 279, 260, 280, 299, 280, 281, 301, 300, 281, 282, 302, 301, 282, 283, 303, 302, 283, 284, 304, 303, 284, 285, 305, 304, 285, 286, 306, 305, 286, 287, 307, 306, 287, 288, 308, 307, 288, 289, 309, 308, 289, 290, 310, 309, 290, 291, 311, 310, 291, 292, 312, 311, 292, 293, 313, 312, 293, 294, 314, 313, 294, 295, 315, 314, 295, 296, 316, 315, 296, 297, 317, 316, 297, 298, 318, 317, 298, 299, 319, 318, 299, 280, 300, 319, 300, 301, 321, 320, 301, 302, 322, 321, 302, 303, 323, 322, 303, 304, 324, 323, 304, 305, 325, 324, 305, 306, 326, 325, 306, 307, 327, 326, 307, 308, 328, 327, 308, 309, 329, 328, 309, 310, 330, 329, 310, 311, 331, 330, 311, 312, 332, 331, 312, 313, 333, 332, 313, 314, 334, 333, 314, 315, 335, 334, 315, 316, 336, 335, 316, 317, 337, 336, 317, 318, 338, 337, 318, 319, 339, 338, 319, 300, 320, 339, 320, 321, 341, 340, 321, 322, 342, 341, 322, 323, 343, 342, 323, 324, 344, 343, 324, 325, 345, 344, 325, 326, 346, 345, 326, 327, 347, 346, 327, 328, 348, 347, 328, 329, 349, 348, 329, 330, 350, 349, 330, 331, 351, 350, 331, 332, 352, 351, 332, 333, 353, 352, 333, 334, 354, 353, 334, 335, 355, 354, 335, 336, 356, 355, 336, 337, 357, 356, 337, 338, 358, 357, 338, 339, 359, 358, 339, 320, 340, 359, 340, 341, 361, 360, 341, 342, 362, 361, 342, 343, 363, 362, 343, 344, 364, 363, 344, 345, 365, 364, 345, 346, 366, 365, 346, 347, 367, 366, 347, 348, 368, 367, 348, 349, 369, 368, 349, 350, 370, 369, 350, 351, 371, 370, 351, 352, 372, 371, 352, 353, 373, 372, 353, 354, 374, 373, 354, 355, 375, 374, 355, 356, 376, 375, 356, 357, 377, 376, 357, 358, 378, 377, 358, 359, 379, 378, 359, 340, 360, 379, 1, 0, 380, 2, 1, 380, 3, 2, 380, 4, 3, 380, 5, 4, 380, 6, 5, 380, 7, 6, 380, 8, 7, 380, 9, 8, 380, 10, 9, 380, 11, 10, 380, 12, 11, 380, 13, 12, 380, 14, 13, 380, 15, 14, 380, 16, 15, 380, 17, 16, 380, 18, 17, 380, 19, 18, 380, 0, 19, 380, 360, 361, 381, 361, 362, 381, 362, 363, 381, 363, 364, 381, 364, 365, 381, 365, 366, 381, 366, 367, 381, 367, 368, 381, 368, 369, 381, 369, 370, 381, 370, 371, 381, 371, 372, 381, 372, 373, 381, 373, 374, 381, 374, 375, 381, 375, 376, 381, 376, 377, 381, 377, 378, 381, 378, 379, 381, 379, 360, 381] + rel material:binding = + point3f[] points = [(0.14877813, -0.98768836, -0.048340943), (0.12655823, -0.98768836, -0.09194993), (0.09194993, -0.98768836, -0.12655823), (0.048340935, -0.98768836, -0.14877811), (0, -0.98768836, -0.15643455), (-0.048340935, -0.98768836, -0.1487781), (-0.09194992, -0.98768836, -0.1265582), (-0.12655818, -0.98768836, -0.0919499), (-0.14877807, -0.98768836, -0.048340924), (-0.15643452, -0.98768836, 0), (-0.14877807, -0.98768836, 0.048340924), (-0.12655818, -0.98768836, 0.091949895), (-0.091949895, -0.98768836, 0.12655817), (-0.048340924, -0.98768836, 0.14877805), (-4.6621107e-9, -0.98768836, 0.15643449), (0.04834091, -0.98768836, 0.14877804), (0.09194988, -0.98768836, 0.12655815), (0.12655815, -0.98768836, 0.09194989), (0.14877804, -0.98768836, 0.048340913), (0.15643448, -0.98768836, 0), (0.29389283, -0.95105654, -0.095491566), (0.25000018, -0.95105654, -0.18163574), (0.18163574, -0.95105654, -0.25000015), (0.09549155, -0.95105654, -0.2938928), (0, -0.95105654, -0.30901715), (-0.09549155, -0.95105654, -0.29389277), (-0.18163571, -0.95105654, -0.2500001), (-0.2500001, -0.95105654, -0.1816357), (-0.2938927, -0.95105654, -0.09549153), (-0.30901706, -0.95105654, 0), (-0.2938927, -0.95105654, 0.09549153), (-0.25000006, -0.95105654, 0.18163568), (-0.18163568, -0.95105654, 0.25000006), (-0.09549153, -0.95105654, 0.29389268), (-9.209424e-9, -0.95105654, 0.30901703), (0.0954915, -0.95105654, 0.29389265), (0.18163563, -0.95105654, 0.25000003), (0.25, -0.95105654, 0.18163565), (0.29389265, -0.95105654, 0.095491506), (0.309017, -0.95105654, 0), (0.43177092, -0.8910065, -0.14029087), (0.3672863, -0.8910065, -0.2668491), (0.2668491, -0.8910065, -0.36728626), (0.14029086, -0.8910065, -0.43177086), (0, -0.8910065, -0.45399073), (-0.14029086, -0.8910065, -0.43177083), (-0.26684904, -0.8910065, -0.36728618), (-0.36728615, -0.8910065, -0.266849), (-0.43177077, -0.8910065, -0.14029081), (-0.45399064, -0.8910065, 0), (-0.43177077, -0.8910065, 0.14029081), (-0.36728612, -0.8910065, 0.26684898), (-0.26684898, -0.8910065, 0.36728612), (-0.14029081, -0.8910065, 0.4317707), (-1.3529972e-8, -0.8910065, 0.45399058), (0.14029078, -0.8910065, 0.43177068), (0.26684892, -0.8910065, 0.3672861), (0.36728606, -0.8910065, 0.26684895), (0.43177065, -0.8910065, 0.1402908), (0.45399052, -0.8910065, 0), (0.55901736, -0.809017, -0.18163574), (0.47552857, -0.809017, -0.3454917), (0.3454917, -0.809017, -0.47552854), (0.18163572, -0.809017, -0.5590173), (0, -0.809017, -0.58778554), (-0.18163572, -0.809017, -0.55901724), (-0.34549165, -0.809017, -0.47552842), (-0.4755284, -0.809017, -0.3454916), (-0.5590171, -0.809017, -0.18163566), (-0.58778536, -0.809017, 0), (-0.5590171, -0.809017, 0.18163566), (-0.47552836, -0.809017, 0.34549156), (-0.34549156, -0.809017, 0.47552833), (-0.18163566, -0.809017, 0.55901706), (-1.7517365e-8, -0.809017, 0.5877853), (0.18163562, -0.809017, 0.55901706), (0.3454915, -0.809017, 0.4755283), (0.47552827, -0.809017, 0.34549153), (0.559017, -0.809017, 0.18163563), (0.58778524, -0.809017, 0), (0.67249894, -0.70710677, -0.21850814), (0.5720618, -0.70710677, -0.41562718), (0.41562718, -0.70710677, -0.5720617), (0.21850812, -0.70710677, -0.6724989), (0, -0.70710677, -0.7071071), (-0.21850812, -0.70710677, -0.6724988), (-0.4156271, -0.70710677, -0.5720616), (-0.57206154, -0.70710677, -0.41562706), (-0.6724987, -0.70710677, -0.21850805), (-0.70710695, -0.70710677, 0), (-0.6724987, -0.70710677, 0.21850805), (-0.57206154, -0.70710677, 0.415627), (-0.415627, -0.70710677, 0.5720615), (-0.21850805, -0.70710677, 0.6724986), (-2.1073424e-8, -0.70710677, 0.7071068), (0.21850799, -0.70710677, 0.6724986), (0.4156269, -0.70710677, 0.5720614), (0.5720614, -0.70710677, 0.41562697), (0.6724985, -0.70710677, 0.21850802), (0.70710677, -0.70710677, 0), (0.7694214, -0.58778524, -0.25000015), (0.65450895, -0.58778524, -0.47552854), (0.47552854, -0.58778524, -0.6545089), (0.25000012, -0.58778524, -0.7694213), (0, -0.58778524, -0.80901736), (-0.25000012, -0.58778524, -0.7694212), (-0.47552845, -0.58778524, -0.65450877), (-0.6545087, -0.58778524, -0.4755284), (-0.7694211, -0.58778524, -0.25000006), (-0.8090172, -0.58778524, 0), (-0.7694211, -0.58778524, 0.25000006), (-0.65450865, -0.58778524, 0.47552836), (-0.47552836, -0.58778524, 0.6545086), (-0.25000006, -0.58778524, 0.769421), (-2.4110586e-8, -0.58778524, 0.8090171), (0.24999999, -0.58778524, 0.769421), (0.47552827, -0.58778524, 0.65450853), (0.65450853, -0.58778524, 0.4755283), (0.7694209, -0.58778524, 0.25), (0.809017, -0.58778524, 0), (0.8473981, -0.45399052, -0.27533633), (0.7208399, -0.45399052, -0.5237208), (0.5237208, -0.45399052, -0.72083986), (0.2753363, -0.45399052, -0.847398), (0, -0.45399052, -0.89100695), (-0.2753363, -0.45399052, -0.847398), (-0.5237207, -0.45399052, -0.7208397), (-0.7208396, -0.45399052, -0.5237206), (-0.8473978, -0.45399052, -0.2753362), (-0.89100677, -0.45399052, 0), (-0.8473978, -0.45399052, 0.2753362), (-0.7208396, -0.45399052, 0.5237206), (-0.5237206, -0.45399052, 0.72083956), (-0.2753362, -0.45399052, 0.8473977), (-2.6554064e-8, -0.45399052, 0.89100665), (0.27533615, -0.45399052, 0.8473976), (0.5237205, -0.45399052, 0.7208395), (0.72083944, -0.45399052, 0.52372056), (0.84739757, -0.45399052, 0.27533618), (0.8910065, -0.45399052, 0), (0.9045091, -0.30901697, -0.2938928), (0.7694214, -0.30901697, -0.55901736), (0.55901736, -0.30901697, -0.76942134), (0.29389277, -0.30901697, -0.904509), (0, -0.30901697, -0.951057), (-0.29389277, -0.30901697, -0.90450895), (-0.55901724, -0.30901697, -0.7694212), (-0.76942116, -0.30901697, -0.5590172), (-0.90450877, -0.30901697, -0.2938927), (-0.9510568, -0.30901697, 0), (-0.90450877, -0.30901697, 0.2938927), (-0.7694211, -0.30901697, 0.5590171), (-0.5590171, -0.30901697, 0.76942104), (-0.2938927, -0.30901697, 0.90450865), (-2.8343694e-8, -0.30901697, 0.95105666), (0.29389262, -0.30901697, 0.9045086), (0.559017, -0.30901697, 0.769421), (0.7694209, -0.30901697, 0.55901706), (0.90450853, -0.30901697, 0.29389265), (0.95105654, -0.30901697, 0), (0.93934804, -0.15643437, -0.30521268), (0.7990572, -0.15643437, -0.580549), (0.580549, -0.15643437, -0.7990571), (0.30521265, -0.15643437, -0.9393479), (0, -0.15643437, -0.98768884), (-0.30521265, -0.15643437, -0.93934786), (-0.5805489, -0.15643437, -0.79905695), (-0.7990569, -0.15643437, -0.5805488), (-0.9393477, -0.15643437, -0.30521256), (-0.9876886, -0.15643437, 0), (-0.9393477, -0.15643437, 0.30521256), (-0.7990568, -0.15643437, 0.58054876), (-0.58054876, -0.15643437, 0.79905677), (-0.30521256, -0.15643437, 0.93934757), (-2.9435407e-8, -0.15643437, 0.9876885), (0.30521247, -0.15643437, 0.93934757), (0.58054864, -0.15643437, 0.7990567), (0.79905665, -0.15643437, 0.5805487), (0.9393475, -0.15643437, 0.3052125), (0.98768836, -0.15643437, 0), (0.95105714, 0, -0.30901718), (0.80901754, 0, -0.5877856), (0.5877856, 0, -0.8090175), (0.30901715, 0, -0.951057), (0, 0, -1.0000005), (-0.30901715, 0, -0.95105696), (-0.5877855, 0, -0.8090173), (-0.80901724, 0, -0.5877854), (-0.9510568, 0, -0.30901706), (-1.0000002, 0, 0), (-0.9510568, 0, 0.30901706), (-0.8090172, 0, 0.58778536), (-0.58778536, 0, 0.8090171), (-0.30901706, 0, 0.95105666), (-2.9802322e-8, 0, 1.0000001), (0.30901697, 0, 0.9510566), (0.58778524, 0, 0.80901706), (0.809017, 0, 0.5877853), (0.95105654, 0, 0.309017), (1, 0, 0), (0.93934804, 0.15643437, -0.30521268), (0.7990572, 0.15643437, -0.580549), (0.580549, 0.15643437, -0.7990571), (0.30521265, 0.15643437, -0.9393479), (0, 0.15643437, -0.98768884), (-0.30521265, 0.15643437, -0.93934786), (-0.5805489, 0.15643437, -0.79905695), (-0.7990569, 0.15643437, -0.5805488), (-0.9393477, 0.15643437, -0.30521256), (-0.9876886, 0.15643437, 0), (-0.9393477, 0.15643437, 0.30521256), (-0.7990568, 0.15643437, 0.58054876), (-0.58054876, 0.15643437, 0.79905677), (-0.30521256, 0.15643437, 0.93934757), (-2.9435407e-8, 0.15643437, 0.9876885), (0.30521247, 0.15643437, 0.93934757), (0.58054864, 0.15643437, 0.7990567), (0.79905665, 0.15643437, 0.5805487), (0.9393475, 0.15643437, 0.3052125), (0.98768836, 0.15643437, 0), (0.9045091, 0.30901697, -0.2938928), (0.7694214, 0.30901697, -0.55901736), (0.55901736, 0.30901697, -0.76942134), (0.29389277, 0.30901697, -0.904509), (0, 0.30901697, -0.951057), (-0.29389277, 0.30901697, -0.90450895), (-0.55901724, 0.30901697, -0.7694212), (-0.76942116, 0.30901697, -0.5590172), (-0.90450877, 0.30901697, -0.2938927), (-0.9510568, 0.30901697, 0), (-0.90450877, 0.30901697, 0.2938927), (-0.7694211, 0.30901697, 0.5590171), (-0.5590171, 0.30901697, 0.76942104), (-0.2938927, 0.30901697, 0.90450865), (-2.8343694e-8, 0.30901697, 0.95105666), (0.29389262, 0.30901697, 0.9045086), (0.559017, 0.30901697, 0.769421), (0.7694209, 0.30901697, 0.55901706), (0.90450853, 0.30901697, 0.29389265), (0.95105654, 0.30901697, 0), (0.8473981, 0.45399052, -0.27533633), (0.7208399, 0.45399052, -0.5237208), (0.5237208, 0.45399052, -0.72083986), (0.2753363, 0.45399052, -0.847398), (0, 0.45399052, -0.89100695), (-0.2753363, 0.45399052, -0.847398), (-0.5237207, 0.45399052, -0.7208397), (-0.7208396, 0.45399052, -0.5237206), (-0.8473978, 0.45399052, -0.2753362), (-0.89100677, 0.45399052, 0), (-0.8473978, 0.45399052, 0.2753362), (-0.7208396, 0.45399052, 0.5237206), (-0.5237206, 0.45399052, 0.72083956), (-0.2753362, 0.45399052, 0.8473977), (-2.6554064e-8, 0.45399052, 0.89100665), (0.27533615, 0.45399052, 0.8473976), (0.5237205, 0.45399052, 0.7208395), (0.72083944, 0.45399052, 0.52372056), (0.84739757, 0.45399052, 0.27533618), (0.8910065, 0.45399052, 0), (0.7694214, 0.58778524, -0.25000015), (0.65450895, 0.58778524, -0.47552854), (0.47552854, 0.58778524, -0.6545089), (0.25000012, 0.58778524, -0.7694213), (0, 0.58778524, -0.80901736), (-0.25000012, 0.58778524, -0.7694212), (-0.47552845, 0.58778524, -0.65450877), (-0.6545087, 0.58778524, -0.4755284), (-0.7694211, 0.58778524, -0.25000006), (-0.8090172, 0.58778524, 0), (-0.7694211, 0.58778524, 0.25000006), (-0.65450865, 0.58778524, 0.47552836), (-0.47552836, 0.58778524, 0.6545086), (-0.25000006, 0.58778524, 0.769421), (-2.4110586e-8, 0.58778524, 0.8090171), (0.24999999, 0.58778524, 0.769421), (0.47552827, 0.58778524, 0.65450853), (0.65450853, 0.58778524, 0.4755283), (0.7694209, 0.58778524, 0.25), (0.809017, 0.58778524, 0), (0.67249894, 0.70710677, -0.21850814), (0.5720618, 0.70710677, -0.41562718), (0.41562718, 0.70710677, -0.5720617), (0.21850812, 0.70710677, -0.6724989), (0, 0.70710677, -0.7071071), (-0.21850812, 0.70710677, -0.6724988), (-0.4156271, 0.70710677, -0.5720616), (-0.57206154, 0.70710677, -0.41562706), (-0.6724987, 0.70710677, -0.21850805), (-0.70710695, 0.70710677, 0), (-0.6724987, 0.70710677, 0.21850805), (-0.57206154, 0.70710677, 0.415627), (-0.415627, 0.70710677, 0.5720615), (-0.21850805, 0.70710677, 0.6724986), (-2.1073424e-8, 0.70710677, 0.7071068), (0.21850799, 0.70710677, 0.6724986), (0.4156269, 0.70710677, 0.5720614), (0.5720614, 0.70710677, 0.41562697), (0.6724985, 0.70710677, 0.21850802), (0.70710677, 0.70710677, 0), (0.55901736, 0.809017, -0.18163574), (0.47552857, 0.809017, -0.3454917), (0.3454917, 0.809017, -0.47552854), (0.18163572, 0.809017, -0.5590173), (0, 0.809017, -0.58778554), (-0.18163572, 0.809017, -0.55901724), (-0.34549165, 0.809017, -0.47552842), (-0.4755284, 0.809017, -0.3454916), (-0.5590171, 0.809017, -0.18163566), (-0.58778536, 0.809017, 0), (-0.5590171, 0.809017, 0.18163566), (-0.47552836, 0.809017, 0.34549156), (-0.34549156, 0.809017, 0.47552833), (-0.18163566, 0.809017, 0.55901706), (-1.7517365e-8, 0.809017, 0.5877853), (0.18163562, 0.809017, 0.55901706), (0.3454915, 0.809017, 0.4755283), (0.47552827, 0.809017, 0.34549153), (0.559017, 0.809017, 0.18163563), (0.58778524, 0.809017, 0), (0.43177092, 0.8910065, -0.14029087), (0.3672863, 0.8910065, -0.2668491), (0.2668491, 0.8910065, -0.36728626), (0.14029086, 0.8910065, -0.43177086), (0, 0.8910065, -0.45399073), (-0.14029086, 0.8910065, -0.43177083), (-0.26684904, 0.8910065, -0.36728618), (-0.36728615, 0.8910065, -0.266849), (-0.43177077, 0.8910065, -0.14029081), (-0.45399064, 0.8910065, 0), (-0.43177077, 0.8910065, 0.14029081), (-0.36728612, 0.8910065, 0.26684898), (-0.26684898, 0.8910065, 0.36728612), (-0.14029081, 0.8910065, 0.4317707), (-1.3529972e-8, 0.8910065, 0.45399058), (0.14029078, 0.8910065, 0.43177068), (0.26684892, 0.8910065, 0.3672861), (0.36728606, 0.8910065, 0.26684895), (0.43177065, 0.8910065, 0.1402908), (0.45399052, 0.8910065, 0), (0.29389283, 0.95105654, -0.095491566), (0.25000018, 0.95105654, -0.18163574), (0.18163574, 0.95105654, -0.25000015), (0.09549155, 0.95105654, -0.2938928), (0, 0.95105654, -0.30901715), (-0.09549155, 0.95105654, -0.29389277), (-0.18163571, 0.95105654, -0.2500001), (-0.2500001, 0.95105654, -0.1816357), (-0.2938927, 0.95105654, -0.09549153), (-0.30901706, 0.95105654, 0), (-0.2938927, 0.95105654, 0.09549153), (-0.25000006, 0.95105654, 0.18163568), (-0.18163568, 0.95105654, 0.25000006), (-0.09549153, 0.95105654, 0.29389268), (-9.209424e-9, 0.95105654, 0.30901703), (0.0954915, 0.95105654, 0.29389265), (0.18163563, 0.95105654, 0.25000003), (0.25, 0.95105654, 0.18163565), (0.29389265, 0.95105654, 0.095491506), (0.309017, 0.95105654, 0), (0.14877813, 0.98768836, -0.048340943), (0.12655823, 0.98768836, -0.09194993), (0.09194993, 0.98768836, -0.12655823), (0.048340935, 0.98768836, -0.14877811), (0, 0.98768836, -0.15643455), (-0.048340935, 0.98768836, -0.1487781), (-0.09194992, 0.98768836, -0.1265582), (-0.12655818, 0.98768836, -0.0919499), (-0.14877807, 0.98768836, -0.048340924), (-0.15643452, 0.98768836, 0), (-0.14877807, 0.98768836, 0.048340924), (-0.12655818, 0.98768836, 0.091949895), (-0.091949895, 0.98768836, 0.12655817), (-0.048340924, 0.98768836, 0.14877805), (-4.6621107e-9, 0.98768836, 0.15643449), (0.04834091, 0.98768836, 0.14877804), (0.09194988, 0.98768836, 0.12655815), (0.12655815, 0.98768836, 0.09194989), (0.14877804, 0.98768836, 0.048340913), (0.15643448, 0.98768836, 0), (0, -1, 0), (0, 1, 0)] + color3f[] primvars:displayColor = [(0, 1, 0)] ( + customData = { + dictionary Maya = { + bool generated = 1 + } + } + ) + texCoord2f[] primvars:st = [(0, 0.05), (0.05, 0.05), (0.1, 0.05), (0.15, 0.05), (0.2, 0.05), (0.25, 0.05), (0.3, 0.05), (0.35000002, 0.05), (0.40000004, 0.05), (0.45000005, 0.05), (0.50000006, 0.05), (0.5500001, 0.05), (0.6000001, 0.05), (0.6500001, 0.05), (0.7000001, 0.05), (0.7500001, 0.05), (0.80000013, 0.05), (0.85000014, 0.05), (0.90000015, 0.05), (0.95000017, 0.05), (1.0000001, 0.05), (0, 0.1), (0.05, 0.1), (0.1, 0.1), (0.15, 0.1), (0.2, 0.1), (0.25, 0.1), (0.3, 0.1), (0.35000002, 0.1), (0.40000004, 0.1), (0.45000005, 0.1), (0.50000006, 0.1), (0.5500001, 0.1), (0.6000001, 0.1), (0.6500001, 0.1), (0.7000001, 0.1), (0.7500001, 0.1), (0.80000013, 0.1), (0.85000014, 0.1), (0.90000015, 0.1), (0.95000017, 0.1), (1.0000001, 0.1), (0, 0.15), (0.05, 0.15), (0.1, 0.15), (0.15, 0.15), (0.2, 0.15), (0.25, 0.15), (0.3, 0.15), (0.35000002, 0.15), (0.40000004, 0.15), (0.45000005, 0.15), (0.50000006, 0.15), (0.5500001, 0.15), (0.6000001, 0.15), (0.6500001, 0.15), (0.7000001, 0.15), (0.7500001, 0.15), (0.80000013, 0.15), (0.85000014, 0.15), (0.90000015, 0.15), (0.95000017, 0.15), (1.0000001, 0.15), (0, 0.2), (0.05, 0.2), (0.1, 0.2), (0.15, 0.2), (0.2, 0.2), (0.25, 0.2), (0.3, 0.2), (0.35000002, 0.2), (0.40000004, 0.2), (0.45000005, 0.2), (0.50000006, 0.2), (0.5500001, 0.2), (0.6000001, 0.2), (0.6500001, 0.2), (0.7000001, 0.2), (0.7500001, 0.2), (0.80000013, 0.2), (0.85000014, 0.2), (0.90000015, 0.2), (0.95000017, 0.2), (1.0000001, 0.2), (0, 0.25), (0.05, 0.25), (0.1, 0.25), (0.15, 0.25), (0.2, 0.25), (0.25, 0.25), (0.3, 0.25), (0.35000002, 0.25), (0.40000004, 0.25), (0.45000005, 0.25), (0.50000006, 0.25), (0.5500001, 0.25), (0.6000001, 0.25), (0.6500001, 0.25), (0.7000001, 0.25), (0.7500001, 0.25), (0.80000013, 0.25), (0.85000014, 0.25), (0.90000015, 0.25), (0.95000017, 0.25), (1.0000001, 0.25), (0, 0.3), (0.05, 0.3), (0.1, 0.3), (0.15, 0.3), (0.2, 0.3), (0.25, 0.3), (0.3, 0.3), (0.35000002, 0.3), (0.40000004, 0.3), (0.45000005, 0.3), (0.50000006, 0.3), (0.5500001, 0.3), (0.6000001, 0.3), (0.6500001, 0.3), (0.7000001, 0.3), (0.7500001, 0.3), (0.80000013, 0.3), (0.85000014, 0.3), (0.90000015, 0.3), (0.95000017, 0.3), (1.0000001, 0.3), (0, 0.35000002), (0.05, 0.35000002), (0.1, 0.35000002), (0.15, 0.35000002), (0.2, 0.35000002), (0.25, 0.35000002), (0.3, 0.35000002), (0.35000002, 0.35000002), (0.40000004, 0.35000002), (0.45000005, 0.35000002), (0.50000006, 0.35000002), (0.5500001, 0.35000002), (0.6000001, 0.35000002), (0.6500001, 0.35000002), (0.7000001, 0.35000002), (0.7500001, 0.35000002), (0.80000013, 0.35000002), (0.85000014, 0.35000002), (0.90000015, 0.35000002), (0.95000017, 0.35000002), (1.0000001, 0.35000002), (0, 0.40000004), (0.05, 0.40000004), (0.1, 0.40000004), (0.15, 0.40000004), (0.2, 0.40000004), (0.25, 0.40000004), (0.3, 0.40000004), (0.35000002, 0.40000004), (0.40000004, 0.40000004), (0.45000005, 0.40000004), (0.50000006, 0.40000004), (0.5500001, 0.40000004), (0.6000001, 0.40000004), (0.6500001, 0.40000004), (0.7000001, 0.40000004), (0.7500001, 0.40000004), (0.80000013, 0.40000004), (0.85000014, 0.40000004), (0.90000015, 0.40000004), (0.95000017, 0.40000004), (1.0000001, 0.40000004), (0, 0.45000005), (0.05, 0.45000005), (0.1, 0.45000005), (0.15, 0.45000005), (0.2, 0.45000005), (0.25, 0.45000005), (0.3, 0.45000005), (0.35000002, 0.45000005), (0.40000004, 0.45000005), (0.45000005, 0.45000005), (0.50000006, 0.45000005), (0.5500001, 0.45000005), (0.6000001, 0.45000005), (0.6500001, 0.45000005), (0.7000001, 0.45000005), (0.7500001, 0.45000005), (0.80000013, 0.45000005), (0.85000014, 0.45000005), (0.90000015, 0.45000005), (0.95000017, 0.45000005), (1.0000001, 0.45000005), (0, 0.50000006), (0.05, 0.50000006), (0.1, 0.50000006), (0.15, 0.50000006), (0.2, 0.50000006), (0.25, 0.50000006), (0.3, 0.50000006), (0.35000002, 0.50000006), (0.40000004, 0.50000006), (0.45000005, 0.50000006), (0.50000006, 0.50000006), (0.5500001, 0.50000006), (0.6000001, 0.50000006), (0.6500001, 0.50000006), (0.7000001, 0.50000006), (0.7500001, 0.50000006), (0.80000013, 0.50000006), (0.85000014, 0.50000006), (0.90000015, 0.50000006), (0.95000017, 0.50000006), (1.0000001, 0.50000006), (0, 0.5500001), (0.05, 0.5500001), (0.1, 0.5500001), (0.15, 0.5500001), (0.2, 0.5500001), (0.25, 0.5500001), (0.3, 0.5500001), (0.35000002, 0.5500001), (0.40000004, 0.5500001), (0.45000005, 0.5500001), (0.50000006, 0.5500001), (0.5500001, 0.5500001), (0.6000001, 0.5500001), (0.6500001, 0.5500001), (0.7000001, 0.5500001), (0.7500001, 0.5500001), (0.80000013, 0.5500001), (0.85000014, 0.5500001), (0.90000015, 0.5500001), (0.95000017, 0.5500001), (1.0000001, 0.5500001), (0, 0.6000001), (0.05, 0.6000001), (0.1, 0.6000001), (0.15, 0.6000001), (0.2, 0.6000001), (0.25, 0.6000001), (0.3, 0.6000001), (0.35000002, 0.6000001), (0.40000004, 0.6000001), (0.45000005, 0.6000001), (0.50000006, 0.6000001), (0.5500001, 0.6000001), (0.6000001, 0.6000001), (0.6500001, 0.6000001), (0.7000001, 0.6000001), (0.7500001, 0.6000001), (0.80000013, 0.6000001), (0.85000014, 0.6000001), (0.90000015, 0.6000001), (0.95000017, 0.6000001), (1.0000001, 0.6000001), (0, 0.6500001), (0.05, 0.6500001), (0.1, 0.6500001), (0.15, 0.6500001), (0.2, 0.6500001), (0.25, 0.6500001), (0.3, 0.6500001), (0.35000002, 0.6500001), (0.40000004, 0.6500001), (0.45000005, 0.6500001), (0.50000006, 0.6500001), (0.5500001, 0.6500001), (0.6000001, 0.6500001), (0.6500001, 0.6500001), (0.7000001, 0.6500001), (0.7500001, 0.6500001), (0.80000013, 0.6500001), (0.85000014, 0.6500001), (0.90000015, 0.6500001), (0.95000017, 0.6500001), (1.0000001, 0.6500001), (0, 0.7000001), (0.05, 0.7000001), (0.1, 0.7000001), (0.15, 0.7000001), (0.2, 0.7000001), (0.25, 0.7000001), (0.3, 0.7000001), (0.35000002, 0.7000001), (0.40000004, 0.7000001), (0.45000005, 0.7000001), (0.50000006, 0.7000001), (0.5500001, 0.7000001), (0.6000001, 0.7000001), (0.6500001, 0.7000001), (0.7000001, 0.7000001), (0.7500001, 0.7000001), (0.80000013, 0.7000001), (0.85000014, 0.7000001), (0.90000015, 0.7000001), (0.95000017, 0.7000001), (1.0000001, 0.7000001), (0, 0.7500001), (0.05, 0.7500001), (0.1, 0.7500001), (0.15, 0.7500001), (0.2, 0.7500001), (0.25, 0.7500001), (0.3, 0.7500001), (0.35000002, 0.7500001), (0.40000004, 0.7500001), (0.45000005, 0.7500001), (0.50000006, 0.7500001), (0.5500001, 0.7500001), (0.6000001, 0.7500001), (0.6500001, 0.7500001), (0.7000001, 0.7500001), (0.7500001, 0.7500001), (0.80000013, 0.7500001), (0.85000014, 0.7500001), (0.90000015, 0.7500001), (0.95000017, 0.7500001), (1.0000001, 0.7500001), (0, 0.80000013), (0.05, 0.80000013), (0.1, 0.80000013), (0.15, 0.80000013), (0.2, 0.80000013), (0.25, 0.80000013), (0.3, 0.80000013), (0.35000002, 0.80000013), (0.40000004, 0.80000013), (0.45000005, 0.80000013), (0.50000006, 0.80000013), (0.5500001, 0.80000013), (0.6000001, 0.80000013), (0.6500001, 0.80000013), (0.7000001, 0.80000013), (0.7500001, 0.80000013), (0.80000013, 0.80000013), (0.85000014, 0.80000013), (0.90000015, 0.80000013), (0.95000017, 0.80000013), (1.0000001, 0.80000013), (0, 0.85000014), (0.05, 0.85000014), (0.1, 0.85000014), (0.15, 0.85000014), (0.2, 0.85000014), (0.25, 0.85000014), (0.3, 0.85000014), (0.35000002, 0.85000014), (0.40000004, 0.85000014), (0.45000005, 0.85000014), (0.50000006, 0.85000014), (0.5500001, 0.85000014), (0.6000001, 0.85000014), (0.6500001, 0.85000014), (0.7000001, 0.85000014), (0.7500001, 0.85000014), (0.80000013, 0.85000014), (0.85000014, 0.85000014), (0.90000015, 0.85000014), (0.95000017, 0.85000014), (1.0000001, 0.85000014), (0, 0.90000015), (0.05, 0.90000015), (0.1, 0.90000015), (0.15, 0.90000015), (0.2, 0.90000015), (0.25, 0.90000015), (0.3, 0.90000015), (0.35000002, 0.90000015), (0.40000004, 0.90000015), (0.45000005, 0.90000015), (0.50000006, 0.90000015), (0.5500001, 0.90000015), (0.6000001, 0.90000015), (0.6500001, 0.90000015), (0.7000001, 0.90000015), (0.7500001, 0.90000015), (0.80000013, 0.90000015), (0.85000014, 0.90000015), (0.90000015, 0.90000015), (0.95000017, 0.90000015), (1.0000001, 0.90000015), (0, 0.95000017), (0.05, 0.95000017), (0.1, 0.95000017), (0.15, 0.95000017), (0.2, 0.95000017), (0.25, 0.95000017), (0.3, 0.95000017), (0.35000002, 0.95000017), (0.40000004, 0.95000017), (0.45000005, 0.95000017), (0.50000006, 0.95000017), (0.5500001, 0.95000017), (0.6000001, 0.95000017), (0.6500001, 0.95000017), (0.7000001, 0.95000017), (0.7500001, 0.95000017), (0.80000013, 0.95000017), (0.85000014, 0.95000017), (0.90000015, 0.95000017), (0.95000017, 0.95000017), (1.0000001, 0.95000017), (0.025, 0), (0.075, 0), (0.125, 0), (0.17500001, 0), (0.22500001, 0), (0.275, 0), (0.32500002, 0), (0.375, 0), (0.425, 0), (0.47500002, 0), (0.525, 0), (0.575, 0), (0.625, 0), (0.675, 0), (0.72499996, 0), (0.775, 0), (0.825, 0), (0.875, 0), (0.925, 0), (0.97499996, 0), (0.025, 1), (0.075, 1), (0.125, 1), (0.17500001, 1), (0.22500001, 1), (0.275, 1), (0.32500002, 1), (0.375, 1), (0.425, 1), (0.47500002, 1), (0.525, 1), (0.575, 1), (0.625, 1), (0.675, 1), (0.72499996, 1), (0.775, 1), (0.825, 1), (0.875, 1), (0.925, 1), (0.97499996, 1)] ( + customData = { + dictionary Maya = { + token name = "map1" + } + } + interpolation = "faceVarying" + ) + int[] primvars:st:indices = [0, 1, 22, 21, 1, 2, 23, 22, 2, 3, 24, 23, 3, 4, 25, 24, 4, 5, 26, 25, 5, 6, 27, 26, 6, 7, 28, 27, 7, 8, 29, 28, 8, 9, 30, 29, 9, 10, 31, 30, 10, 11, 32, 31, 11, 12, 33, 32, 12, 13, 34, 33, 13, 14, 35, 34, 14, 15, 36, 35, 15, 16, 37, 36, 16, 17, 38, 37, 17, 18, 39, 38, 18, 19, 40, 39, 19, 20, 41, 40, 21, 22, 43, 42, 22, 23, 44, 43, 23, 24, 45, 44, 24, 25, 46, 45, 25, 26, 47, 46, 26, 27, 48, 47, 27, 28, 49, 48, 28, 29, 50, 49, 29, 30, 51, 50, 30, 31, 52, 51, 31, 32, 53, 52, 32, 33, 54, 53, 33, 34, 55, 54, 34, 35, 56, 55, 35, 36, 57, 56, 36, 37, 58, 57, 37, 38, 59, 58, 38, 39, 60, 59, 39, 40, 61, 60, 40, 41, 62, 61, 42, 43, 64, 63, 43, 44, 65, 64, 44, 45, 66, 65, 45, 46, 67, 66, 46, 47, 68, 67, 47, 48, 69, 68, 48, 49, 70, 69, 49, 50, 71, 70, 50, 51, 72, 71, 51, 52, 73, 72, 52, 53, 74, 73, 53, 54, 75, 74, 54, 55, 76, 75, 55, 56, 77, 76, 56, 57, 78, 77, 57, 58, 79, 78, 58, 59, 80, 79, 59, 60, 81, 80, 60, 61, 82, 81, 61, 62, 83, 82, 63, 64, 85, 84, 64, 65, 86, 85, 65, 66, 87, 86, 66, 67, 88, 87, 67, 68, 89, 88, 68, 69, 90, 89, 69, 70, 91, 90, 70, 71, 92, 91, 71, 72, 93, 92, 72, 73, 94, 93, 73, 74, 95, 94, 74, 75, 96, 95, 75, 76, 97, 96, 76, 77, 98, 97, 77, 78, 99, 98, 78, 79, 100, 99, 79, 80, 101, 100, 80, 81, 102, 101, 81, 82, 103, 102, 82, 83, 104, 103, 84, 85, 106, 105, 85, 86, 107, 106, 86, 87, 108, 107, 87, 88, 109, 108, 88, 89, 110, 109, 89, 90, 111, 110, 90, 91, 112, 111, 91, 92, 113, 112, 92, 93, 114, 113, 93, 94, 115, 114, 94, 95, 116, 115, 95, 96, 117, 116, 96, 97, 118, 117, 97, 98, 119, 118, 98, 99, 120, 119, 99, 100, 121, 120, 100, 101, 122, 121, 101, 102, 123, 122, 102, 103, 124, 123, 103, 104, 125, 124, 105, 106, 127, 126, 106, 107, 128, 127, 107, 108, 129, 128, 108, 109, 130, 129, 109, 110, 131, 130, 110, 111, 132, 131, 111, 112, 133, 132, 112, 113, 134, 133, 113, 114, 135, 134, 114, 115, 136, 135, 115, 116, 137, 136, 116, 117, 138, 137, 117, 118, 139, 138, 118, 119, 140, 139, 119, 120, 141, 140, 120, 121, 142, 141, 121, 122, 143, 142, 122, 123, 144, 143, 123, 124, 145, 144, 124, 125, 146, 145, 126, 127, 148, 147, 127, 128, 149, 148, 128, 129, 150, 149, 129, 130, 151, 150, 130, 131, 152, 151, 131, 132, 153, 152, 132, 133, 154, 153, 133, 134, 155, 154, 134, 135, 156, 155, 135, 136, 157, 156, 136, 137, 158, 157, 137, 138, 159, 158, 138, 139, 160, 159, 139, 140, 161, 160, 140, 141, 162, 161, 141, 142, 163, 162, 142, 143, 164, 163, 143, 144, 165, 164, 144, 145, 166, 165, 145, 146, 167, 166, 147, 148, 169, 168, 148, 149, 170, 169, 149, 150, 171, 170, 150, 151, 172, 171, 151, 152, 173, 172, 152, 153, 174, 173, 153, 154, 175, 174, 154, 155, 176, 175, 155, 156, 177, 176, 156, 157, 178, 177, 157, 158, 179, 178, 158, 159, 180, 179, 159, 160, 181, 180, 160, 161, 182, 181, 161, 162, 183, 182, 162, 163, 184, 183, 163, 164, 185, 184, 164, 165, 186, 185, 165, 166, 187, 186, 166, 167, 188, 187, 168, 169, 190, 189, 169, 170, 191, 190, 170, 171, 192, 191, 171, 172, 193, 192, 172, 173, 194, 193, 173, 174, 195, 194, 174, 175, 196, 195, 175, 176, 197, 196, 176, 177, 198, 197, 177, 178, 199, 198, 178, 179, 200, 199, 179, 180, 201, 200, 180, 181, 202, 201, 181, 182, 203, 202, 182, 183, 204, 203, 183, 184, 205, 204, 184, 185, 206, 205, 185, 186, 207, 206, 186, 187, 208, 207, 187, 188, 209, 208, 189, 190, 211, 210, 190, 191, 212, 211, 191, 192, 213, 212, 192, 193, 214, 213, 193, 194, 215, 214, 194, 195, 216, 215, 195, 196, 217, 216, 196, 197, 218, 217, 197, 198, 219, 218, 198, 199, 220, 219, 199, 200, 221, 220, 200, 201, 222, 221, 201, 202, 223, 222, 202, 203, 224, 223, 203, 204, 225, 224, 204, 205, 226, 225, 205, 206, 227, 226, 206, 207, 228, 227, 207, 208, 229, 228, 208, 209, 230, 229, 210, 211, 232, 231, 211, 212, 233, 232, 212, 213, 234, 233, 213, 214, 235, 234, 214, 215, 236, 235, 215, 216, 237, 236, 216, 217, 238, 237, 217, 218, 239, 238, 218, 219, 240, 239, 219, 220, 241, 240, 220, 221, 242, 241, 221, 222, 243, 242, 222, 223, 244, 243, 223, 224, 245, 244, 224, 225, 246, 245, 225, 226, 247, 246, 226, 227, 248, 247, 227, 228, 249, 248, 228, 229, 250, 249, 229, 230, 251, 250, 231, 232, 253, 252, 232, 233, 254, 253, 233, 234, 255, 254, 234, 235, 256, 255, 235, 236, 257, 256, 236, 237, 258, 257, 237, 238, 259, 258, 238, 239, 260, 259, 239, 240, 261, 260, 240, 241, 262, 261, 241, 242, 263, 262, 242, 243, 264, 263, 243, 244, 265, 264, 244, 245, 266, 265, 245, 246, 267, 266, 246, 247, 268, 267, 247, 248, 269, 268, 248, 249, 270, 269, 249, 250, 271, 270, 250, 251, 272, 271, 252, 253, 274, 273, 253, 254, 275, 274, 254, 255, 276, 275, 255, 256, 277, 276, 256, 257, 278, 277, 257, 258, 279, 278, 258, 259, 280, 279, 259, 260, 281, 280, 260, 261, 282, 281, 261, 262, 283, 282, 262, 263, 284, 283, 263, 264, 285, 284, 264, 265, 286, 285, 265, 266, 287, 286, 266, 267, 288, 287, 267, 268, 289, 288, 268, 269, 290, 289, 269, 270, 291, 290, 270, 271, 292, 291, 271, 272, 293, 292, 273, 274, 295, 294, 274, 275, 296, 295, 275, 276, 297, 296, 276, 277, 298, 297, 277, 278, 299, 298, 278, 279, 300, 299, 279, 280, 301, 300, 280, 281, 302, 301, 281, 282, 303, 302, 282, 283, 304, 303, 283, 284, 305, 304, 284, 285, 306, 305, 285, 286, 307, 306, 286, 287, 308, 307, 287, 288, 309, 308, 288, 289, 310, 309, 289, 290, 311, 310, 290, 291, 312, 311, 291, 292, 313, 312, 292, 293, 314, 313, 294, 295, 316, 315, 295, 296, 317, 316, 296, 297, 318, 317, 297, 298, 319, 318, 298, 299, 320, 319, 299, 300, 321, 320, 300, 301, 322, 321, 301, 302, 323, 322, 302, 303, 324, 323, 303, 304, 325, 324, 304, 305, 326, 325, 305, 306, 327, 326, 306, 307, 328, 327, 307, 308, 329, 328, 308, 309, 330, 329, 309, 310, 331, 330, 310, 311, 332, 331, 311, 312, 333, 332, 312, 313, 334, 333, 313, 314, 335, 334, 315, 316, 337, 336, 316, 317, 338, 337, 317, 318, 339, 338, 318, 319, 340, 339, 319, 320, 341, 340, 320, 321, 342, 341, 321, 322, 343, 342, 322, 323, 344, 343, 323, 324, 345, 344, 324, 325, 346, 345, 325, 326, 347, 346, 326, 327, 348, 347, 327, 328, 349, 348, 328, 329, 350, 349, 329, 330, 351, 350, 330, 331, 352, 351, 331, 332, 353, 352, 332, 333, 354, 353, 333, 334, 355, 354, 334, 335, 356, 355, 336, 337, 358, 357, 337, 338, 359, 358, 338, 339, 360, 359, 339, 340, 361, 360, 340, 341, 362, 361, 341, 342, 363, 362, 342, 343, 364, 363, 343, 344, 365, 364, 344, 345, 366, 365, 345, 346, 367, 366, 346, 347, 368, 367, 347, 348, 369, 368, 348, 349, 370, 369, 349, 350, 371, 370, 350, 351, 372, 371, 351, 352, 373, 372, 352, 353, 374, 373, 353, 354, 375, 374, 354, 355, 376, 375, 355, 356, 377, 376, 357, 358, 379, 378, 358, 359, 380, 379, 359, 360, 381, 380, 360, 361, 382, 381, 361, 362, 383, 382, 362, 363, 384, 383, 363, 364, 385, 384, 364, 365, 386, 385, 365, 366, 387, 386, 366, 367, 388, 387, 367, 368, 389, 388, 368, 369, 390, 389, 369, 370, 391, 390, 370, 371, 392, 391, 371, 372, 393, 392, 372, 373, 394, 393, 373, 374, 395, 394, 374, 375, 396, 395, 375, 376, 397, 396, 376, 377, 398, 397, 1, 0, 399, 2, 1, 400, 3, 2, 401, 4, 3, 402, 5, 4, 403, 6, 5, 404, 7, 6, 405, 8, 7, 406, 9, 8, 407, 10, 9, 408, 11, 10, 409, 12, 11, 410, 13, 12, 411, 14, 13, 412, 15, 14, 413, 16, 15, 414, 17, 16, 415, 18, 17, 416, 19, 18, 417, 20, 19, 418, 378, 379, 419, 379, 380, 420, 380, 381, 421, 381, 382, 422, 382, 383, 423, 383, 384, 424, 384, 385, 425, 385, 386, 426, 386, 387, 427, 387, 388, 428, 388, 389, 429, 389, 390, 430, 390, 391, 431, 391, 392, 432, 392, 393, 433, 393, 394, 434, 394, 395, 435, 395, 396, 436, 396, 397, 437, 397, 398, 438] + double3 xformOp:translate = (4, 1.3173888360140649, -3.8760321057281004) + uniform token[] xformOpOrder = ["xformOp:translate"] + + def Scope "mtl" + { + def Material "standardSurface2SG" + { + token outputs:surface.connect = + + def Shader "standardSurface2" + { + uniform token info:id = "UsdPreviewSurface" + float inputs:clearcoat = 0 + float inputs:clearcoatRoughness = 0.1 + color3f inputs:diffuseColor = (0, 0, 1) + color3f inputs:emissiveColor = (0, 0, 0) + float inputs:ior = 1.5 + float inputs:metallic = 0 + normal3f inputs:normal = (1, 1, 1) + float inputs:roughness = 0.2 + color3f inputs:specularColor = (1, 1, 1) + token outputs:displacement + token outputs:surface + } + } + } +} + +def Mesh "pPlane1" ( + prepend apiSchemas = ["MaterialBindingAPI"] + kind = "component" +) +{ + uniform bool doubleSided = 1 + float3[] extent = [(-0.5, 0, -0.5), (0.5, 0, 0.5)] + int[] faceVertexCounts = [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4] + int[] faceVertexIndices = [0, 1, 12, 11, 1, 2, 13, 12, 2, 3, 14, 13, 3, 4, 15, 14, 4, 5, 16, 15, 5, 6, 17, 16, 6, 7, 18, 17, 7, 8, 19, 18, 8, 9, 20, 19, 9, 10, 21, 20, 11, 12, 23, 22, 12, 13, 24, 23, 13, 14, 25, 24, 14, 15, 26, 25, 15, 16, 27, 26, 16, 17, 28, 27, 17, 18, 29, 28, 18, 19, 30, 29, 19, 20, 31, 30, 20, 21, 32, 31, 22, 23, 34, 33, 23, 24, 35, 34, 24, 25, 36, 35, 25, 26, 37, 36, 26, 27, 38, 37, 27, 28, 39, 38, 28, 29, 40, 39, 29, 30, 41, 40, 30, 31, 42, 41, 31, 32, 43, 42, 33, 34, 45, 44, 34, 35, 46, 45, 35, 36, 47, 46, 36, 37, 48, 47, 37, 38, 49, 48, 38, 39, 50, 49, 39, 40, 51, 50, 40, 41, 52, 51, 41, 42, 53, 52, 42, 43, 54, 53, 44, 45, 56, 55, 45, 46, 57, 56, 46, 47, 58, 57, 47, 48, 59, 58, 48, 49, 60, 59, 49, 50, 61, 60, 50, 51, 62, 61, 51, 52, 63, 62, 52, 53, 64, 63, 53, 54, 65, 64, 55, 56, 67, 66, 56, 57, 68, 67, 57, 58, 69, 68, 58, 59, 70, 69, 59, 60, 71, 70, 60, 61, 72, 71, 61, 62, 73, 72, 62, 63, 74, 73, 63, 64, 75, 74, 64, 65, 76, 75, 66, 67, 78, 77, 67, 68, 79, 78, 68, 69, 80, 79, 69, 70, 81, 80, 70, 71, 82, 81, 71, 72, 83, 82, 72, 73, 84, 83, 73, 74, 85, 84, 74, 75, 86, 85, 75, 76, 87, 86, 77, 78, 89, 88, 78, 79, 90, 89, 79, 80, 91, 90, 80, 81, 92, 91, 81, 82, 93, 92, 82, 83, 94, 93, 83, 84, 95, 94, 84, 85, 96, 95, 85, 86, 97, 96, 86, 87, 98, 97, 88, 89, 100, 99, 89, 90, 101, 100, 90, 91, 102, 101, 91, 92, 103, 102, 92, 93, 104, 103, 93, 94, 105, 104, 94, 95, 106, 105, 95, 96, 107, 106, 96, 97, 108, 107, 97, 98, 109, 108, 99, 100, 111, 110, 100, 101, 112, 111, 101, 102, 113, 112, 102, 103, 114, 113, 103, 104, 115, 114, 104, 105, 116, 115, 105, 106, 117, 116, 106, 107, 118, 117, 107, 108, 119, 118, 108, 109, 120, 119] + rel material:binding = + point3f[] points = [(-0.5, 0, 0.5), (-0.4, 0, 0.5), (-0.3, 0, 0.5), (-0.19999999, 0, 0.5), (-0.099999994, 0, 0.5), (0, 0, 0.5), (0.100000024, 0, 0.5), (0.19999999, 0, 0.5), (0.3, 0, 0.5), (0.40000004, 0, 0.5), (0.5, 0, 0.5), (-0.5, 0, 0.4), (-0.4, 0, 0.4), (-0.3, 0, 0.4), (-0.19999999, 0, 0.4), (-0.099999994, 0, 0.4), (0, 0, 0.4), (0.100000024, 0, 0.4), (0.19999999, 0, 0.4), (0.3, 0, 0.4), (0.40000004, 0, 0.4), (0.5, 0, 0.4), (-0.5, 0, 0.3), (-0.4, 0, 0.3), (-0.3, 0, 0.3), (-0.19999999, 0, 0.3), (-0.099999994, 0, 0.3), (0, 0, 0.3), (0.100000024, 0, 0.3), (0.19999999, 0, 0.3), (0.3, 0, 0.3), (0.40000004, 0, 0.3), (0.5, 0, 0.3), (-0.5, 0, 0.19999999), (-0.4, 0, 0.19999999), (-0.3, 0, 0.19999999), (-0.19999999, 0, 0.19999999), (-0.099999994, 0, 0.19999999), (0, 0, 0.19999999), (0.100000024, 0, 0.19999999), (0.19999999, 0, 0.19999999), (0.3, 0, 0.19999999), (0.40000004, 0, 0.19999999), (0.5, 0, 0.19999999), (-0.5, 0, 0.099999994), (-0.4, 0, 0.099999994), (-0.3, 0, 0.099999994), (-0.19999999, 0, 0.099999994), (-0.099999994, 0, 0.099999994), (0, 0, 0.099999994), (0.100000024, 0, 0.099999994), (0.19999999, 0, 0.099999994), (0.3, 0, 0.099999994), (0.40000004, 0, 0.099999994), (0.5, 0, 0.099999994), (-0.5, 0, 0), (-0.4, 0, 0), (-0.3, 0, 0), (-0.19999999, 0, 0), (-0.099999994, 0, 0), (0, 0, 0), (0.100000024, 0, 0), (0.19999999, 0, 0), (0.3, 0, 0), (0.40000004, 0, 0), (0.5, 0, 0), (-0.5, 0, -0.100000024), (-0.4, 0, -0.100000024), (-0.3, 0, -0.100000024), (-0.19999999, 0, -0.100000024), (-0.099999994, 0, -0.100000024), (0, 0, -0.100000024), (0.100000024, 0, -0.100000024), (0.19999999, 0, -0.100000024), (0.3, 0, -0.100000024), (0.40000004, 0, -0.100000024), (0.5, 0, -0.100000024), (-0.5, 0, -0.19999999), (-0.4, 0, -0.19999999), (-0.3, 0, -0.19999999), (-0.19999999, 0, -0.19999999), (-0.099999994, 0, -0.19999999), (0, 0, -0.19999999), (0.100000024, 0, -0.19999999), (0.19999999, 0, -0.19999999), (0.3, 0, -0.19999999), (0.40000004, 0, -0.19999999), (0.5, 0, -0.19999999), (-0.5, 0, -0.3), (-0.4, 0, -0.3), (-0.3, 0, -0.3), (-0.19999999, 0, -0.3), (-0.099999994, 0, -0.3), (0, 0, -0.3), (0.100000024, 0, -0.3), (0.19999999, 0, -0.3), (0.3, 0, -0.3), (0.40000004, 0, -0.3), (0.5, 0, -0.3), (-0.5, 0, -0.40000004), (-0.4, 0, -0.40000004), (-0.3, 0, -0.40000004), (-0.19999999, 0, -0.40000004), (-0.099999994, 0, -0.40000004), (0, 0, -0.40000004), (0.100000024, 0, -0.40000004), (0.19999999, 0, -0.40000004), (0.3, 0, -0.40000004), (0.40000004, 0, -0.40000004), (0.5, 0, -0.40000004), (-0.5, 0, -0.5), (-0.4, 0, -0.5), (-0.3, 0, -0.5), (-0.19999999, 0, -0.5), (-0.099999994, 0, -0.5), (0, 0, -0.5), (0.100000024, 0, -0.5), (0.19999999, 0, -0.5), (0.3, 0, -0.5), (0.40000004, 0, -0.5), (0.5, 0, -0.5)] + color3f[] primvars:displayColor = [(0, 0, 0)] ( + customData = { + dictionary Maya = { + bool generated = 1 + } + } + ) + texCoord2f[] primvars:st = [(0, 0), (0.1, 0), (0.2, 0), (0.3, 0), (0.4, 0), (0.5, 0), (0.6, 0), (0.7, 0), (0.8, 0), (0.90000004, 0), (1, 0), (0, 0.1), (0.1, 0.1), (0.2, 0.1), (0.3, 0.1), (0.4, 0.1), (0.5, 0.1), (0.6, 0.1), (0.7, 0.1), (0.8, 0.1), (0.90000004, 0.1), (1, 0.1), (0, 0.2), (0.1, 0.2), (0.2, 0.2), (0.3, 0.2), (0.4, 0.2), (0.5, 0.2), (0.6, 0.2), (0.7, 0.2), (0.8, 0.2), (0.90000004, 0.2), (1, 0.2), (0, 0.3), (0.1, 0.3), (0.2, 0.3), (0.3, 0.3), (0.4, 0.3), (0.5, 0.3), (0.6, 0.3), (0.7, 0.3), (0.8, 0.3), (0.90000004, 0.3), (1, 0.3), (0, 0.4), (0.1, 0.4), (0.2, 0.4), (0.3, 0.4), (0.4, 0.4), (0.5, 0.4), (0.6, 0.4), (0.7, 0.4), (0.8, 0.4), (0.90000004, 0.4), (1, 0.4), (0, 0.5), (0.1, 0.5), (0.2, 0.5), (0.3, 0.5), (0.4, 0.5), (0.5, 0.5), (0.6, 0.5), (0.7, 0.5), (0.8, 0.5), (0.90000004, 0.5), (1, 0.5), (0, 0.6), (0.1, 0.6), (0.2, 0.6), (0.3, 0.6), (0.4, 0.6), (0.5, 0.6), (0.6, 0.6), (0.7, 0.6), (0.8, 0.6), (0.90000004, 0.6), (1, 0.6), (0, 0.7), (0.1, 0.7), (0.2, 0.7), (0.3, 0.7), (0.4, 0.7), (0.5, 0.7), (0.6, 0.7), (0.7, 0.7), (0.8, 0.7), (0.90000004, 0.7), (1, 0.7), (0, 0.8), (0.1, 0.8), (0.2, 0.8), (0.3, 0.8), (0.4, 0.8), (0.5, 0.8), (0.6, 0.8), (0.7, 0.8), (0.8, 0.8), (0.90000004, 0.8), (1, 0.8), (0, 0.90000004), (0.1, 0.90000004), (0.2, 0.90000004), (0.3, 0.90000004), (0.4, 0.90000004), (0.5, 0.90000004), (0.6, 0.90000004), (0.7, 0.90000004), (0.8, 0.90000004), (0.90000004, 0.90000004), (1, 0.90000004), (0, 1), (0.1, 1), (0.2, 1), (0.3, 1), (0.4, 1), (0.5, 1), (0.6, 1), (0.7, 1), (0.8, 1), (0.90000004, 1), (1, 1)] ( + customData = { + dictionary Maya = { + token name = "map1" + } + } + interpolation = "faceVarying" + ) + int[] primvars:st:indices = [0, 1, 12, 11, 1, 2, 13, 12, 2, 3, 14, 13, 3, 4, 15, 14, 4, 5, 16, 15, 5, 6, 17, 16, 6, 7, 18, 17, 7, 8, 19, 18, 8, 9, 20, 19, 9, 10, 21, 20, 11, 12, 23, 22, 12, 13, 24, 23, 13, 14, 25, 24, 14, 15, 26, 25, 15, 16, 27, 26, 16, 17, 28, 27, 17, 18, 29, 28, 18, 19, 30, 29, 19, 20, 31, 30, 20, 21, 32, 31, 22, 23, 34, 33, 23, 24, 35, 34, 24, 25, 36, 35, 25, 26, 37, 36, 26, 27, 38, 37, 27, 28, 39, 38, 28, 29, 40, 39, 29, 30, 41, 40, 30, 31, 42, 41, 31, 32, 43, 42, 33, 34, 45, 44, 34, 35, 46, 45, 35, 36, 47, 46, 36, 37, 48, 47, 37, 38, 49, 48, 38, 39, 50, 49, 39, 40, 51, 50, 40, 41, 52, 51, 41, 42, 53, 52, 42, 43, 54, 53, 44, 45, 56, 55, 45, 46, 57, 56, 46, 47, 58, 57, 47, 48, 59, 58, 48, 49, 60, 59, 49, 50, 61, 60, 50, 51, 62, 61, 51, 52, 63, 62, 52, 53, 64, 63, 53, 54, 65, 64, 55, 56, 67, 66, 56, 57, 68, 67, 57, 58, 69, 68, 58, 59, 70, 69, 59, 60, 71, 70, 60, 61, 72, 71, 61, 62, 73, 72, 62, 63, 74, 73, 63, 64, 75, 74, 64, 65, 76, 75, 66, 67, 78, 77, 67, 68, 79, 78, 68, 69, 80, 79, 69, 70, 81, 80, 70, 71, 82, 81, 71, 72, 83, 82, 72, 73, 84, 83, 73, 74, 85, 84, 74, 75, 86, 85, 75, 76, 87, 86, 77, 78, 89, 88, 78, 79, 90, 89, 79, 80, 91, 90, 80, 81, 92, 91, 81, 82, 93, 92, 82, 83, 94, 93, 83, 84, 95, 94, 84, 85, 96, 95, 85, 86, 97, 96, 86, 87, 98, 97, 88, 89, 100, 99, 89, 90, 101, 100, 90, 91, 102, 101, 91, 92, 103, 102, 92, 93, 104, 103, 93, 94, 105, 104, 94, 95, 106, 105, 95, 96, 107, 106, 96, 97, 108, 107, 97, 98, 109, 108, 99, 100, 111, 110, 100, 101, 112, 111, 101, 102, 113, 112, 102, 103, 114, 113, 103, 104, 115, 114, 104, 105, 116, 115, 105, 106, 117, 116, 106, 107, 118, 117, 107, 108, 119, 118, 108, 109, 120, 119] + float3 xformOp:scale = (16.828157, 16.828157, 16.828157) + double3 xformOp:translate = (0, -0.866391620768439, 0) + uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:scale"] + + def Scope "mtl" + { + def Material "standardSurface4SG" + { + string inputs:file1:varname = "st" + token outputs:surface.connect = + + def Shader "standardSurface4" + { + uniform token info:id = "UsdPreviewSurface" + float inputs:clearcoat = 0 + float inputs:clearcoatRoughness = 0.1 + color3f inputs:diffuseColor = (1, 1, 0) + color3f inputs:emissiveColor = (0, 0, 0) + float inputs:ior = 1.5 + float inputs:metallic = 0 + normal3f inputs:normal = (1, 1, 1) + float inputs:roughness = 0.2 + color3f inputs:specularColor = (1, 1, 1) + token outputs:displacement + token outputs:surface + } + + } + } +} + diff --git a/test/testSamples/testWireframeSelectionHighlight/testSelectionHighlightMayaUsd.ma b/test/testSamples/testWireframeSelectionHighlight/testSelectionHighlightMayaUsd.ma new file mode 100644 index 0000000000..851832b0d1 --- /dev/null +++ b/test/testSamples/testWireframeSelectionHighlight/testSelectionHighlightMayaUsd.ma @@ -0,0 +1,217 @@ +//Maya ASCII 2026ff01 scene +//Name: testSelectionHighlightMayaUsd.ma +//Last modified: Wed, Apr 17, 2024 03:28:44 PM +//Codeset: 1252 +requires maya "2026ff01"; +requires "mtoa" "5.4.0"; +requires -nodeType "mayaUsdLayerManager" -nodeType "mayaUsdProxyShape" -dataType "pxrUsdStageData" + "mayaUsdPlugin" "0.28.0"; +currentUnit -l centimeter -a degree -t film; +fileInfo "application" "maya"; +fileInfo "product" "Maya 2025"; +fileInfo "version" "Preview Release 153"; +fileInfo "cutIdentifier" "202402011613-000000"; +fileInfo "osv" "Windows 10 Enterprise v2009 (Build: 19045)"; +fileInfo "UUID" "1F7B00EF-47FD-1DF6-40D2-6ABF431CDE3D"; +createNode transform -s -n "persp"; + rename -uid "D0A065B2-4220-B3BA-4A7A-7895EC41E63F"; + setAttr ".v" no; + setAttr ".t" -type "double3" 11.789001935281625 6.6314110438220606 7.1626712526524479 ; + setAttr ".r" -type "double3" -25.538352729607709 56.200000000000308 2.8586911282799769e-15 ; +createNode camera -s -n "perspShape" -p "persp"; + rename -uid "AE50EF30-461B-4417-A4EB-D6A7E7D7FF0A"; + setAttr -k off ".v" no; + setAttr ".fl" 34.999999999999993; + setAttr ".coi" 15.293491797710868; + setAttr ".imn" -type "string" "persp"; + setAttr ".den" -type "string" "persp_depth"; + setAttr ".man" -type "string" "persp_mask"; + setAttr ".hc" -type "string" "viewSet -p %camera"; +createNode transform -s -n "top"; + rename -uid "D31BCFA6-457C-DEA6-2FCD-FBA2926B7CB9"; + setAttr ".v" no; + setAttr ".t" -type "double3" 0 1000.1 0 ; + setAttr ".r" -type "double3" -90 0 0 ; +createNode camera -s -n "topShape" -p "top"; + rename -uid "B680B99E-4D36-92B9-1BD2-9BA2B9F578F7"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 1000.1; + setAttr ".ow" 30; + setAttr ".imn" -type "string" "top"; + setAttr ".den" -type "string" "top_depth"; + setAttr ".man" -type "string" "top_mask"; + setAttr ".hc" -type "string" "viewSet -t %camera"; + setAttr ".o" yes; + setAttr ".ai_translator" -type "string" "orthographic"; +createNode transform -s -n "front"; + rename -uid "67DAD043-4E45-C7D7-AB7A-61A4E84D19A3"; + setAttr ".v" no; + setAttr ".t" -type "double3" 0 0 1000.1 ; +createNode camera -s -n "frontShape" -p "front"; + rename -uid "87EC7903-4BF3-DAA5-321A-5085529C137F"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 1000.1; + setAttr ".ow" 30; + setAttr ".imn" -type "string" "front"; + setAttr ".den" -type "string" "front_depth"; + setAttr ".man" -type "string" "front_mask"; + setAttr ".hc" -type "string" "viewSet -f %camera"; + setAttr ".o" yes; + setAttr ".ai_translator" -type "string" "orthographic"; +createNode transform -s -n "side"; + rename -uid "D2D62B2B-4D48-47D9-7A26-7EA65FE2D25E"; + setAttr ".v" no; + setAttr ".t" -type "double3" 1000.1 0 0 ; + setAttr ".r" -type "double3" 0 90 0 ; +createNode camera -s -n "sideShape" -p "side"; + rename -uid "B6B8FA94-4909-5D53-2AED-18A2839B9B41"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 1000.1; + setAttr ".ow" 30; + setAttr ".imn" -type "string" "side"; + setAttr ".den" -type "string" "side_depth"; + setAttr ".man" -type "string" "side_mask"; + setAttr ".hc" -type "string" "viewSet -s %camera"; + setAttr ".o" yes; + setAttr ".ai_translator" -type "string" "orthographic"; +createNode transform -n "sample_usd"; + rename -uid "F58040AF-4BDF-D338-8785-C1A4702B1E62"; +createNode mayaUsdProxyShape -n "sample_usdShape" -p "sample_usd"; + rename -uid "CA8E9507-4A14-E74B-F237-04A5079A1075"; + addAttr -r false -ci true -h true -sn "forceCompute" -ln "forceCompute" -min 0 + -max 1 -at "bool"; + addAttr -ci true -h true -sn "usdStageLoadRules" -ln "usdStageLoadRules" -dt "string"; + addAttr -ci true -h true -sn "usdStageTargetLayer" -ln "usdStageTargetLayer" -dt "string"; + setAttr -k off ".v"; + setAttr ".covm[0]" 0 1 1; + setAttr ".cdvm[0]" 0 1 1; + setAttr ".fp" -type "string" "X:/GIT/maya-hydra-opensource/test/testSamples/testWireframeSelectionHighlight/sample_usd.usda"; + setAttr ".pp" -type "string" ""; + setAttr ".epp" -type "string" ""; + setAttr ".forceCompute" yes; + setAttr ".usdStageLoadRules" -type "string" "/=all"; + setAttr ".usdStageTargetLayer" -type "string" "x:/GIT/maya-hydra-opensource/test/testSamples/testWireframeSelectionHighlight/sample_usd.usda"; +createNode lightLinker -s -n "lightLinker1"; + rename -uid "38CFC129-4B3D-1AC2-53E6-B48C80A14A4C"; + setAttr -s 2 ".lnk"; + setAttr -s 2 ".slnk"; +createNode shapeEditorManager -n "shapeEditorManager"; + rename -uid "8743C266-45A3-7C95-4F28-40A683BBE47C"; +createNode poseInterpolatorManager -n "poseInterpolatorManager"; + rename -uid "F1326E8C-4896-67DD-D26A-83AAFCDE4364"; +createNode displayLayerManager -n "layerManager"; + rename -uid "B73752A6-4015-4713-002A-B6A77CB586DB"; +createNode displayLayer -n "defaultLayer"; + rename -uid "FBF1D57F-4D89-611D-948E-E59D41DB083E"; + setAttr ".ufem" -type "stringArray" 0 ; +createNode renderLayerManager -n "renderLayerManager"; + rename -uid "735D3CC1-42CF-DEB5-7F00-9FBD13942209"; +createNode renderLayer -n "defaultRenderLayer"; + rename -uid "4BD10896-461C-1E2F-A0C7-56BAB1820B3C"; + setAttr ".g" yes; +createNode mayaUsdLayerManager -n "mayaUsdLayerManager1"; + rename -uid "16CEC114-4CDD-E05C-2083-4687ECAD028A"; +createNode script -n "uiConfigurationScriptNode"; + rename -uid "380534D9-4B82-0950-2F6E-E4A9F398A1E8"; + setAttr ".b" -type "string" ( + "// Maya Mel UI Configuration File.\n//\n// This script is machine generated. Edit at your own risk.\n//\n//\n\nglobal string $gMainPane;\nif (`paneLayout -exists $gMainPane`) {\n\n\tglobal int $gUseScenePanelConfig;\n\tint $useSceneConfig = $gUseScenePanelConfig;\n\tint $nodeEditorPanelVisible = stringArrayContains(\"nodeEditorPanel1\", `getPanel -vis`);\n\tint $nodeEditorWorkspaceControlOpen = (`workspaceControl -exists nodeEditorPanel1Window` && `workspaceControl -q -visible nodeEditorPanel1Window`);\n\tint $menusOkayInPanels = `optionVar -q allowMenusInPanels`;\n\tint $nVisPanes = `paneLayout -q -nvp $gMainPane`;\n\tint $nPanes = 0;\n\tstring $editorName;\n\tstring $panelName;\n\tstring $itemFilterName;\n\tstring $panelConfig;\n\n\t//\n\t// get current state of the UI\n\t//\n\tsceneUIReplacement -update $gMainPane;\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Top View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels $panelName;\n" + + "\t\t$editorName = $panelName;\n modelEditor -e \n -docTag \"RADRENDER\" \n -editorChanged \"updateModelPanelBar\" \n -camera \"|persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n" + + " -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n" + + " -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n" + + " -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Side View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -docTag \"RADRENDER\" \n -editorChanged \"updateModelPanelBar\" \n -camera \"|persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n" + + " -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n" + + " -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n" + + " -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Front View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -docTag \"RADRENDER\" \n -editorChanged \"updateModelPanelBar\" \n -camera \"|persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n" + + " -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n" + + " -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n" + + " -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Persp View\")) `;\n" + + "\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -docTag \"RADRENDER\" \n -editorChanged \"updateModelPanelBar\" \n -camera \"|persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n" + + " -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n" + + " -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -bluePencil 1\n -greasePencils 0\n -excludeObjectPreset \"All\" \n -shadows 0\n -captureSequenceNumber -1\n -width 1116\n" + + " -height 713\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"ToggledOutliner\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"ToggledOutliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -docTag \"isolOutln_fromSeln\" \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 1\n -showReferenceMembers 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n" + + " -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n" + + " -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -selectCommand \"print(\\\"\\\")\" \n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n" + + "\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n" + + " -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -ufeFilter \"USD\" \"InactivePrims\" -ufeFilterValue 1\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n" + + "\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showParentContainers 0\n" + + " -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n" + + " -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 1\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayValues 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showPlayRangeShades \"on\" \n -lockPlayRangeShades \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -showUpstreamCurves 1\n -keyMinScale 1\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -preSelectionHighlight 1\n" + + " -limitToSelectedCurves 0\n -constrainDrag 0\n -valueLinesToggle 0\n -highlightAffectedCurves 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n" + + " -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 0\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -showUfeItems 1\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n" + + " -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayValues 0\n -snapTime \"none\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -hierarchyBelow 0\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n" + + "\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"timeEditorPanel\" (localizedPanelLabel(\"Time Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Time Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"clipEditorPanel\" (localizedPanelLabel(\"Trax Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n -displayValues 0\n -snapTime \"none\" \n -snapValue \"none\" \n -initialized 0\n -manageSequencer 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"sequenceEditorPanel\" (localizedPanelLabel(\"Camera Sequencer\")) `;\n" + + "\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Camera Sequencer\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = sequenceEditorNameFromPanel($panelName);\n clipEditor -e \n -displayValues 0\n -snapTime \"none\" \n -snapValue \"none\" \n -initialized 0\n -manageSequencer 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperGraphPanel\" (localizedPanelLabel(\"Hypergraph Hierarchy\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -mergeConnections 0\n -zoom 1\n" + + " -animateTransition 0\n -showRelationships 1\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n -showConstraints 0\n -showConnectionFromSelected 0\n -showConnectionToSelected 0\n -showConstraintLabels 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -opaqueContainers 0\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -heatMapDisplay 0\n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -range 0 0 \n -iconSize \"smallIcons\" \n -showCachedConnections 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n" + + "\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperShadePanel\" (localizedPanelLabel(\"Hypershade\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"visorPanel\" (localizedPanelLabel(\"Visor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"nodeEditorPanel\" (localizedPanelLabel(\"Node Editor\")) `;\n\tif ($nodeEditorPanelVisible || $nodeEditorWorkspaceControlOpen) {\n\t\tif (\"\" == $panelName) {\n\t\t\tif ($useSceneConfig) {\n\t\t\t\t$panelName = `scriptedPanel -unParent -type \"nodeEditorPanel\" -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels `;\n" + + "\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -connectNodeOnCreation 0\n -connectOnDrop 0\n -copyConnectionsOnPaste 0\n -connectionStyle \"bezier\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -connectedGraphingMode 1\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n -crosshairOnEdgeDragging 0\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n" + + " -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -showUnitConversions 0\n -editorMode \"default\" \n -hasWatchpoint 0\n $editorName;\n\t\t\t}\n\t\t} else {\n\t\t\t$label = `panel -q -label $panelName`;\n\t\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -connectNodeOnCreation 0\n -connectOnDrop 0\n -copyConnectionsOnPaste 0\n -connectionStyle \"bezier\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -connectedGraphingMode 1\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n" + + " -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n -crosshairOnEdgeDragging 0\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -showUnitConversions 0\n -editorMode \"default\" \n -hasWatchpoint 0\n $editorName;\n\t\t\tif (!$useSceneConfig) {\n\t\t\t\tpanel -e -l $label $panelName;\n\t\t\t}\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"createNodePanel\" (localizedPanelLabel(\"Create Node\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Create Node\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n" + + "\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"polyTexturePlacementPanel\" (localizedPanelLabel(\"UV Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"UV Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"renderWindowPanel\" (localizedPanelLabel(\"Render View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"shapePanel\" (localizedPanelLabel(\"Shape Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tshapePanel -edit -l (localizedPanelLabel(\"Shape Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n" + + "\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"posePanel\" (localizedPanelLabel(\"Pose Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tposePanel -edit -l (localizedPanelLabel(\"Pose Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynRelEdPanel\" (localizedPanelLabel(\"Dynamic Relationships\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"relationshipPanel\" (localizedPanelLabel(\"Relationship Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n" + + "\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"referenceEditorPanel\" (localizedPanelLabel(\"Reference Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynPaintScriptedPanelType\" (localizedPanelLabel(\"Paint Effects\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"scriptEditorPanel\" (localizedPanelLabel(\"Script Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels $panelName;\n" + + "\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"profilerPanel\" (localizedPanelLabel(\"Profiler Tool\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Profiler Tool\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"contentBrowserPanel\" (localizedPanelLabel(\"Content Browser\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Content Browser\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n\t\t\t\t-userCreated false\n\t\t\t\t-defaultImage \"vacantCell.xP:/\"\n" + + "\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"single\\\" -ps 1 100 100 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n" + + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -docTag \\\"RADRENDER\\\" \\n -editorChanged \\\"updateModelPanelBar\\\" \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -controllers 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -bluePencil 1\\n -greasePencils 0\\n -excludeObjectPreset \\\"All\\\" \\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1116\\n -height 713\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" + + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -docTag \\\"RADRENDER\\\" \\n -editorChanged \\\"updateModelPanelBar\\\" \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -controllers 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -bluePencil 1\\n -greasePencils 0\\n -excludeObjectPreset \\\"All\\\" \\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1116\\n -height 713\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" + + "\t\t\t\t$configName;\n\n setNamedPanelLayout (localizedPanelLabel(\"Current Layout\"));\n }\n\n panelHistory -e -clear mainPanelHistory;\n sceneUIReplacement -clear;\n\t}\n\n\ngrid -spacing 5 -size 12 -divisions 5 -displayAxes yes -displayGridLines yes -displayDivisionLines yes -displayPerspectiveLabels no -displayOrthographicLabels no -displayAxesBold yes -perspectiveLabelPosition axis -orthographicLabelPosition edge;\nviewManip -drawCompass 0 -compassAngle 0 -frontParameters \"\" -homeParameters \"\" -selectionLockParameters \"\";\n}\n"); + setAttr ".st" 3; +createNode script -n "sceneConfigurationScriptNode"; + rename -uid "410212DF-435A-2451-1B89-C9AA680FE03A"; + setAttr ".b" -type "string" "playbackOptions -min 0 -max 100 -ast 0 -aet 265 "; + setAttr ".st" 6; +select -ne :time1; + setAttr ".o" 0; +select -ne :hardwareRenderingGlobals; + setAttr ".otfna" -type "stringArray" 22 "NURBS Curves" "NURBS Surfaces" "Polygons" "Subdiv Surface" "Particles" "Particle Instance" "Fluids" "Strokes" "Image Planes" "UI" "Lights" "Cameras" "Locators" "Joints" "IK Handles" "Deformers" "Motion Trails" "Components" "Hair Systems" "Follicles" "Misc. UI" "Ornaments" ; + setAttr ".otfva" -type "Int32Array" 22 0 1 1 1 1 1 + 1 1 1 0 0 0 0 0 0 0 0 0 + 0 0 0 0 ; + setAttr ".fprt" yes; + setAttr ".rtfm" 1; +select -ne :renderPartition; + setAttr -s 2 ".st"; +select -ne :renderGlobalsList1; +select -ne :defaultShaderList1; + setAttr -s 5 ".s"; +select -ne :postProcessList1; + setAttr -s 2 ".p"; +select -ne :defaultRenderingList1; +select -ne :standardSurface1; + setAttr ".bc" -type "float3" 0.40000001 0.40000001 0.40000001 ; + setAttr ".sr" 0.5; +select -ne :initialShadingGroup; + setAttr ".ro" yes; +select -ne :initialParticleSE; + setAttr ".ro" yes; +select -ne :defaultRenderGlobals; + addAttr -ci true -h true -sn "dss" -ln "defaultSurfaceShader" -dt "string"; + setAttr ".ren" -type "string" "arnold"; + setAttr ".dss" -type "string" "standardSurface1"; +select -ne :defaultResolution; + setAttr ".pa" 1; +select -ne :defaultColorMgtGlobals; + setAttr ".cfe" yes; + setAttr ".cfp" -type "string" "/OCIO-configs/Maya2022-default/config.ocio"; + setAttr ".vtn" -type "string" "ACES 1.0 SDR-video (sRGB)"; + setAttr ".vn" -type "string" "ACES 1.0 SDR-video"; + setAttr ".dn" -type "string" "sRGB"; + setAttr ".wsn" -type "string" "ACEScg"; + setAttr ".otn" -type "string" "ACES 1.0 SDR-video (sRGB)"; + setAttr ".potn" -type "string" "ACES 1.0 SDR-video (sRGB)"; +select -ne :hardwareRenderGlobals; + setAttr ".ctrs" 256; + setAttr ".btrs" 512; +select -ne :ikSystem; + setAttr -s 4 ".sol"; +connectAttr ":time1.o" "sample_usdShape.tm"; +relationship "link" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; +relationship "link" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; +relationship "shadowLink" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; +relationship "shadowLink" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; +connectAttr "layerManager.dli[0]" "defaultLayer.id"; +connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; +connectAttr "defaultRenderLayer.msg" ":defaultRenderingList1.r" -na; +// End of testSelectionHighlightMayaUsd.ma