Base class for all built-in and user-defined prim writers. Translates 3dsMax nodes to USD prims.
More...
|
MaxUSDAPI | MaxUsdPrimWriter (const MaxUsdWriteJobContext &jobCtx) |
| Constructor. More...
|
|
virtual MaxUSDAPI | ~MaxUsdPrimWriter () |
| Destructor.
|
|
virtual MaxUSDAPI ContextSupport | CanConvert (INode *node) |
| Returns the level of support this writer can provide for a given 3dsMax node. More...
|
|
virtual MaxUSDAPI TfToken | GetPrimType (INode *node) |
| The prim type you are writing to. For performance reasons, all prims get created ahead of time in a single SdfChangeBlock . This means the prim writers are not responsible for creating the prims. The type specified here is mostly a hint for that first creation pass and, if required, it can be overridden from the Write() method (by defining a prim at the same path with a different type). Unless you always force the creation of an Xform prim (see RequireXformPrim() ), you should return an Xformable type here; otherwise, it is not possible to apply the node's transform onto the prim later (an error will be raised in this scenario). More...
|
|
virtual MaxUSDAPI bool | Write (INode *sourceNode, UsdPrim &targetPrim, bool applyOffsetTransform) |
| Responsible for writing the prim's attribute for the given context. This is where the translation from the 3dsMax node to the USD prim happens. More...
|
|
virtual MaxUSDAPI WStr | GetWriterName () |
| Returns the name of this prim writer. More...
|
|
virtual MaxUSDAPI TfToken | GetObjectPrimSuffix (INode *) |
| In a few scenarios, you need two prims to properly represent an INode. One for its transform, and one for the object it references (for example, in the case of a non-identity object offset transform, it must not inherit the transform, so you cannot use a single prim for the INode). When you do need to perform such a split, the object's prim has the same name as the node's prim, with an added suffix - the string returned here. More...
|
|
virtual MaxUSDAPI std::string | GetPrimName (INode *node, const std::string &suggestedName) |
| Returns the name that should be used for the prim. The base implementation should be sufficient in most cases, unless prim writers want to customize the prim's name. If so, it is their responsibility to ensure that the given name is unique amongst siblings. More...
|
|
virtual MaxUSDAPI maxUsd::XformSplitRequirement | RequiresXformPrim (INode *node) |
| Returns the requirement to split the object from its transform in the scene. More...
|
|
virtual MaxUSDAPI bool | HandlesObjectOffsetTransform () |
| Whether or not we want to manually handle the object offset transform in the Write(). If we return true here, then the applyOffsetTransform argument of Write() can sometimes be set to true. More...
|
|
virtual MaxUSDAPI maxUsd::MaterialAssignRequirement | RequiresMaterialAssignment (INode *node) |
| Returns the material assignment requirement for this node. Some prim writers may not want the prims they produce to be assigned the source node's material automatically. More...
|
|
virtual MaxUSDAPI maxUsd::InstancingRequirement | RequiresInstancing () |
| Returns the instancing requirement for this Prim Writer. Some Prim Writers may want to handle instancing themselves, or disable it entirely. More...
|
|
MaxUSDAPI const UsdStageRefPtr & | GetUsdStage () const |
|
MaxUSDAPI const std::string & | GetFilename () const |
|
virtual MaxUSDAPI boost::python::dict | GetNodesToPrims () const |
|
Base class for all built-in and user-defined prim writers. Translates 3dsMax nodes to USD prims.
The PrimWriter is only responsible for providing translation of the 3dsMax Object referenced by the received Node. It should therefore not attempt to handle instancing, material assignment, and the transform of the Node itself. Instancing is handled by the calling code - if an object is instanced across multiple nodes, the PrimWriter is only called once, on the first node referencing the instanced object. The required Xform prim hierarchy is already generated. Similarly, the Node's transform is applied by the calling code, on the UsdGeomXformable prim built by the PrimWriter, after it is run. If the USD prim is not a UsdGeomXformable, a warning is raised, but it doesn't prevent the export from continuing.
virtual MaxUSDAPI TfToken MaxUsdPrimWriter::GetObjectPrimSuffix |
( |
INode * |
| ) |
|
|
inlinevirtual |
In a few scenarios, you need two prims to properly represent an INode. One for its transform, and one for the object it references (for example, in the case of a non-identity object offset transform, it must not inherit the transform, so you cannot use a single prim for the INode). When you do need to perform such a split, the object's prim has the same name as the node's prim, with an added suffix - the string returned here.
- Returns
- A suffix for the object prim.