Projection : Modifier

Projection - superclass: modifier; super-superclass:MAXWrapper - 31:0 - classID: #(376188956, 435752009)

The Projection modifier lets yout project data such as mapping coordinates, vertex colors and Material IDs from one geometry object onto another. It is typically used in conjunction with Normal Mapping, but has a much larger number of possible applications.

Note:

This modifier is not available in Autodesk VIZ.

Constructor

Projection ...

Properties

Selection Rollout

<Projection>.ignoreBackfacing BooleanClass default: false -- boolean; Ignore_Backfacing

Get/Set the state of the "Ignore Backfacing" checkbox.

<Projection>.smoothGroup Integer default: 1 -- integer; Smoothing_Group

Get/Set the "Select SG" value. This is the smoothing group number (1-32) to select by.

<Projection>.materialID Integer default: 1 -- integer; Material_ID

Get/Set the "Select MatID" value. This is the material ID to select by.

<Projection>.clearSelection BooleanClass default: true -- boolean; Clear_Selection

Get/Set the state of the "Clear Selection" checkbox. When checked, the previous selection will be cleared.

Soft Selection Rollout

<Projection>.useSoftSelection BooleanClass default: false -- boolean; Use_Soft_Selection

Get/Set the state of the "Use Soft Selection" checkbox.

<Projection>.softselUseEdgeDistance BooleanClass default: false -- boolean; Use_Edge_Distance

Get/Set the state of the "Edge Distance" checkbox.

<Projection>.softselEdgeDist Integer default: 1 -- integer; Edge_Distance

Get/Set the "Edge Distance" value as integer.

<Projection>.softselAffectBackfacing BooleanClass default: true -- boolean; Affect_Backfacing

Get/Set the state of the "Affect Backfacing" checkbox.

<Projection>.softselFalloff Float default: 20.0 -- world units; Falloff

Get/Set the Soft Selection "Falloff" value.

<Projection>.softselPinch Float default: 0.0 -- float; Pinch

Get/Set the Soft Selection "Pinch" value.

<Projection>.softselBubble Float default: 0.0 -- float; Bubble

Get/Set the Soft Selection "Bubble" value.

Reference Geometry Rollout

<Projection>.geomNames ArrayParameter default: #() -- string array; Geometry_Selection_Names; Read-only

Contains geometry selection names. Read-only!

<Projection>.geomNodeIDs ArrayParameter default: #() -- int array; Node_ID; Read-only

Contains the geometry selection IDs. Read-only!

<Projection>.geomNodes ArrayParameter default: #() -- node array; Geometry_Nodes; Read-only

Contains the geometry selections nodes. Read-only!

<Projection>.IDs ArrayParameter default: #() -- int array; SO_IDs; Read-only

Contains the sub-object IDs. Read-only!

<Projection>.mapProportions ArrayParameter default: #() -- float array; Map_Proportions; Read-only

Contains an array of Map Proportions. Read-only!

<Projection>.projectionTypes ArrayParameter default: #() -- max object array; Projection_Types; Read-only

Contains an array of Projection Types. Read-only!

<Projection>.selLevels ArrayParameter default: #() -- int array; Selection_Levels; Read-only

Contains an array of Selection Levels. Read-only!

<Projection>.MapChannel Integer default: 1 -- integer; Map_Channel

<Projection>.geomNodeVisible ArrayParameter default: #() -- int array; Node_Visible

Contains an array of visibility flags. Available in 3ds Max 8 and higher.

<Projection>.displayToggleEnable BooleanClass default: false -- boolean

Controls the state of the Enable checkbox in the Display Toggle group of controls. Available in 3ds Max 8 and higher.

<Projection>.displayToggleMode Integer default: 1 -- integer

Available in 3ds Max 8 and higher.

Cage Rollout

<Projection>.displayCage BooleanClass default: true -- boolean; Display_Cage

Get/Set the state of the "Cage" checkbox. When true, the cage will be displayed.

<Projection>.displayCageShaded BooleanClass default: false -- boolean; Display_Cage_Shaded

Get/Set the state of the "Shaded" checkbox. When true, the cage will be shaded.

<Projection>.displayCageOffset BooleanClass default: false -- boolean; Display_Cage_Offset

Get/Set the state of the "Point to Point" checkbox. When true, the projection vectors along the offset will be displayed.

<Projection>.pushValue Float default: 0.0 -- world units; Push_Value

Get/Set the Push "Amount" value.

<Projection>.pushPercent Float default: 0.0 -- float; Push_Percentage

Get/Set the Push "Percent" value.

<Projection>.autoWrapTolerance Float default: 0.0 -- world units; Auto_Wrap_Tolerance

Get/Set the Auto-Wrap "Tolerance" value.

<Projection>.autoWrapAlwaysUpdate BooleanClass default: true -- boolean; Auto_Wrap_Always_Update

Get/Set the state of the Auto-Wrap "Always Update" checkbox.

Selection Check Rollout

<Projection>.selectionCheckType Integer default: 2 -- integer; Selection_Check_Type

Get/Set the selection of the Check radio buttons. Possible values are:

0 - Material ID

1 - Geometry

2 - Both (default)

<Projection>.selectionCheckSelFaces BooleanClass default: true -- boolean; Show_Selection_Check_Faces

Get/Set the state of the "Selected Faces" checkbox. When true, only selected faces will be checked.

Projection interfaces:

Interface: projectionModOps

Methods:

Selection Rollout

<void>shrinkSelection()

Shrinks the selection. Corresponds to pressing the "Shrink" button in the Selection rollout.

<void>growSelection()

Grows the selection. Corresponds to pressing the "Grow" button in the Selection rollout.

<void>selectBySG <integer>sg

Selects by Smoothing Group. Corresponds to pressing the "Select SG" button in the Selection rollout.

<void>selectByMtlID <integer>id

Selects by Material ID. Corresponds to pressing the "Select MatID" button in the Selection rollout.

Geometry Selection Rollout

<bool>isValidObject <node>node

Returns true if the node is a valid projection object.

<bool>addObjectNode <node>node

Adds the given node to the Geometry Selection list.

<void>deleteAll()

Deletes all objects. Corresponds to pressing the "Delete All" icon.

<integer>numObjects()

Returns the number of objects in the Geometry Selection list.

<node>getObjectNode <index>objIndex

Returns the node corresponding to the indexed object on the Geometry Selection list.

<string>getObjectName <index>objIndex

Returns the name of the indexed object on the Geometry Selection list.

<enum>getObjectSelLevel <index>objIndex

getObjectSelLevel enums: {#object|#vertex|#face|#element)

Returns the selection level of the indexed object on the Geometry Selection list.

<bool>getObjectSelFaces <node>node <index>objIndex <&bitArray>faces

faces is Out parameter

Returns the selected faces of the specified node and indexed object into the by-reference bitArray. The method itself returns true on success, false otherwise.

<integer>getObjectMtlIds <node>node <index>objIndex <&integer array>mtlIDs

mtlIDs is Out parameter

Returns the Material IDs of the specified node and indexed object into the by-reference Array of integers.

<void>deleteObjectNode <index>objIndex

Deletes the indexed object from the Geometry Selection list.

<integer>numGeomSels()

Returns the number of objects in the Geometry Selection list.

<string>getGeomSelName <index>selIndex

Returns the name of the indexed selection.

<enum>getGeomSelLevel <index>selIndex

getGeomSelLevel enums: {#object|#vertex|#face|#element)

Returns selection level of the the indexed selection.

<integer>numGeomSelNodes <index>selIndex

Returns the number of geometry selection nodes with the given selection index.

<node>getGeomSelNode <index>selIndex <index>nodeIndex

Returns the scene node corresponding to the indexed node and indexed selection.

<bool>getGeomSelFaces <node>node <index>selIndex <&bitArray>faces

faces is Out parameter

Returns the face selection of the given scene node and the indexed selection in the by-reference bitArray. The method itself returns true on success, false otherwise.

<integer>getGeomSelMtlIds <node>node <index>selIndex <&integer array>mtlIDs

mtlIDs is Out parameter

Returns the Material IDs of the given scene node and the indexed selection in the by-reference Array of Integers.

<float>getGeomSelMapProportion <index>selIndex

Returns the Map Proportion value of the indexed geometry selection.

<void>SetGeomSelMapProportion <index>selIndex <float>proportion

Sets the Map Proportion value of the indexed geometry selection to the supplied float value.

<void>deleteGeomSel <index>selIndex

Deletes the indexed geometry selection.

<void>deleteGeomSelNode <index>selIndex <index>nodeIndex

Deletes the indexed node from the indexed geometry selection .

<float>getGeomSelFaceArea <node>node <index>selIndex

Returns the face area of the indexed geometry selection of the given node.

<void>setGeomSelNodesVisibility <bool>visible

Sets the visibility of the current Geometry Selection node to the given boolean value. Corresponds to pressing the visibility icon in the Geometry Selection list.

<bool>getGeomSelNodesVisibility()

Returns the visibility of the current Geometry Selection node.

Cage Rollout

<void>autowrapCage()

Performs a Cage Auto-Wrap. Corresponds to pressing the "Update" button in the Auto-Wrap group of controls.

<void>resetCage()

Resets the Cage. Corresponds to pressing the "Reset" button in the Auto-Wrap group of controls.

<void>pushCage <float>amount

Pushes the cage by the given amount. Corresponds to chaning the Amount value in the Push group of controls.

Selection Check Rollout

<integer>checkDuplicateMatIDs <node>node <&bitArray>dupFaces

dupFaces is Out parameter

Performs a check for duplicated Material IDs and returns a bitarray in the by-reference argument containing the offending faces. The method itself returns the number of offending faces as integer.

<integer>checkDuplicateSels <node>node <&bitArray>dupFaces

dupFaces is Out parameter

Performs a check for duplicated Selections and returns a bitarray in the by-reference argument containing the offending faces. The method itself returns the number of offending faces as integer.

Projection Rollout

<integer>numProjectionTypes()

Returns the number of projections currently on the Projection list.

<void>removeProjectionType <index>ptIndex

Removes the indexed Projection Type from the Projection list.

<void>projectProjectionType <index>ptIndex

Performs the projection using the the indexed Projection Type from the Projection list. Similar to pressing the "Project" button.

<void>projectAll()

Projects all.Corresponds to pressing the "Project All" button.

<integer>numRegisteredProjectionTypes()

Returns the number of available Projection types. Currently there is only one type implemented.

<maxObject>getProjectionType <index>ptIndex

Returns the indexed Projection object. Currently there is only one type implemented: Project_Mapping : ReferenceTarget

<void>addRegisteredProjectionType <index>rptIndex

Adds a new projection of the indexed type to the Projection list.

<void>getRegisteredProjectionTypeClassID <index>rptIndex <&integer array>classID

classID is Out parameter

Returns the classID of the indexed projection type into the by-reference variable.

<void>showAlignment()

Corresponds to pressing the "Show Alignment" button.

<void>clearAlignment()

Corresponds to pressing the "Clear" button.

Related Methods

The following scripted functions are available for easier Project Modifier access. They are implemented in the file ProjectionMod.ms

Note:

These functions are not available in Autodesk VIZ.

 

GetPModObjectNames <projectionMod>modifier

Returns an array of Geometry Selection names for the given Projection Modifier.

FindPMod <node>source

Returns the highest Projection modifier from the stack of the supplied node. Returns undefined if there is no Projection modifier applied.

AddPModObjects <array>node_list <boolean>createNew <boolean>deleteAll [objList:<array>]

Adds Projection modifier objects to the nodes in the array.

If createNew is true, a new modifier is created, otherwise the existing modifier is used.

If deleteOld is true, all previous objects will be deleted from the modifier's geometry selection.

If the optional objList: parameter is supplied, the Target objects will be added to the list, otherwise the Pick dialog will be displayed to pick Target objects manually.

Returns an array of Projection Modifiers corresponding to the node_list.

See also

Project_Mapping : ReferenceTarget

Project_Mapping_Holder : Modifier

NormalsMap : BakeElement

 

Modifier Common Properties, Operators, and Methods

MAXWrapper Common Properties, Operators, and Methods

Value Common Properties, Operators, and Methods