All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
translatorModelAssembly.h
Go to the documentation of this file.
1 //
2 // Copyright 2016 Pixar
3 //
4 // Licensed under the Apache License, Version 2.0 (the "Apache License")
5 // with the following modification; you may not use this file except in
6 // compliance with the Apache License and the following modification to it:
7 // Section 6. Trademarks. is deleted and replaced with:
8 //
9 // 6. Trademarks. This License does not grant permission to use the trade
10 // names, trademarks, service marks, or product names of the Licensor
11 // and its affiliates, except as required to comply with Section 4(c) of
12 // the License and to reproduce the content of the NOTICE file.
13 //
14 // You may obtain a copy of the Apache License at
15 //
16 // http://www.apache.org/licenses/LICENSE-2.0
17 //
18 // Unless required by applicable law or agreed to in writing, software
19 // distributed under the Apache License with the above modification is
20 // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21 // KIND, either express or implied. See the Apache License for the specific
22 // language governing permissions and limitations under the Apache License.
23 //
24 #ifndef PXRUSDMAYA_TRANSLATOR_MODEL_ASSEMBLY_H
25 #define PXRUSDMAYA_TRANSLATOR_MODEL_ASSEMBLY_H
26 
28 
29 #include "usdMaya/api.h"
30 #include "usdMaya/primReaderArgs.h"
32 #include "usdMaya/primWriterArgs.h"
34 
35 #include "pxr/pxr.h"
36 
37 #include "pxr/base/tf/token.h"
38 
39 #include "pxr/usd/sdf/path.h"
40 #include "pxr/usd/usd/prim.h"
41 
42 #include <maya/MObject.h>
43 
44 #include <map>
45 #include <string>
46 
47 
48 PXR_NAMESPACE_OPEN_SCOPE
49 
50 
51 struct UsdMayaTranslatorModelAssembly
52 {
56  PXRUSDMAYA_API
57  static bool Create(
58  const UsdMayaPrimWriterArgs& args,
59  UsdMayaPrimWriterContext* context);
60 
67  // want to customize.
68  PXRUSDMAYA_API
69  static bool ShouldImportAsAssembly(
70  const UsdPrim& usdImportRootPrim,
71  const UsdPrim& prim,
72  std::string* assetIdentifier,
73  SdfPath* assetPrimPath);
74 
80  PXRUSDMAYA_API
81  static bool Read(
82  const UsdPrim& prim,
83  const std::string& assetIdentifier,
84  const SdfPath& assetPrimPath,
85  const MObject& parentNode,
86  const UsdMayaPrimReaderArgs& args,
87  UsdMayaPrimReaderContext* context,
88  const TfToken& assemblyRep);
89 
93  PXRUSDMAYA_API
94  static bool ReadAsProxy(
95  const UsdPrim& prim,
96  const std::map<std::string, std::string>& variantSetSelections,
97  MObject parentNode,
98  const UsdMayaPrimReaderArgs& args,
99  UsdMayaPrimReaderContext* context);
100 };
101 
102 
103 PXR_NAMESPACE_CLOSE_SCOPE
104 
105 
106 #endif
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:89
This class holds read-only arguments that are passed into reader plugins for the usdMaya library...
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a &quot;Prim&quot; as ...
Definition: prim.h:131
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:287
This class holds read-only arguments that are passed into the writer plugins for the usdMaya library...
This class provides an interface for reader plugins to communicate state back to the core usd maya lo...