Modifying Existing NURBS Objects

AddNURBSObjects()

AddNURBSObjects() adds the specified NURBSSet to the specified object.

Parameters

SetSurfaceApprox()

SetSurfaceApprox() sets the surface approximation characteristics of an existing NURBS object.

Parameters

SetCurveApprox()

Sets the curve approximation characteristics of an existing NURBS object.

Parameters

SetDispApprox()

SetDispApprox() sets the displacement mapping approximation characteristics of an existing NURBS object.

Parameters

SetSurfaceDisplaySettings()

SetSurfaceDisplaySettings() sets the display properties of an existing NURBS object.

Parameters

GetSurfaceDisplaySettings()

GetSurfaceDisplaySettings() retrieves the display properties of an existing NURBS object.

Parameters

Transform()

Transform() transforms the specified sub-objects within the NURBS object passed. Note that the parameter xPack is used for the transformation when Animate mode is on, and mat is used when Animate is off. This stems from the fact that 3ds Max delays creation of controllers on NURBS sub-objects until they are animated.

Parameters

BreakCurve()

BreakCurve() takes a specified NURBS curve sub-object and generates two curves from it.

Parameters

BreakSurface()

BreakSurface() takes the specified NURBS surface sub-object and generates two surfaces from it.

Parameters

JoinCurves()

JoinCurves() takes two curves and joins them together and makes a single curve out of them. That is, the endpoints of the two curve objects are connected by new segments, and the two original curves are replaced by a single curve. Returns the NURBSId of the newly joined curve.

Parameters

JoinSurfaces()

JoinSurfaces() takes two surfaces and joins them together and makes a single surface out of them. That is, the specified edges of the two surface objects are connected by a new surface, and the two original surfaces are replaced by a single surface. This function returns the NURBSId of the newly joined surface.

Parameters

ZipCurves()

ZipSurfaces() concatenates two curves by concatenating the CV lattices of the two original curves. Zipping can change the shape of the original curves, but usually it produces a better result than joining. If both curves are untrimmed point curves, the result is a point curve. In all other cases, the result of zipping is a CV curve. Parameters

ZipSurfaces()

ZipSurfaces() concatenates the CV lattices of the two original surfaces. Zipping can change the shape of the original surfaces, but compared to joining it usually produces a simpler surface that is easier to edit.

Parameters

MakeIndependent()

MakeIndependent() takes a dependent sub-object (fillet, offset, blend, etc.) and turns it into a CV variant of itself such that it is independent (no longer dependent on a parent). Returns the NURBSId of the resulting object or zero if it could not be done.

Parameters

MakeRigid()

MakeRigid() makes any kind of surface sub-object into a rigid surface in order to improve performance. Once you have made a surface rigid, the only editing allowed is to transform it at the Surface sub-object level. You can't move a rigid surface's points or CVs, or change the number of points or CVs. Rigid surfaces reduce the amount of memory used by the NURBS model. Making surfaces rigid improves performance, especially for large and complex models. Returns the NURBSId of the rigid surface.

Parameters

SetApproxPreset()

SetApproxPreset() chooses one of the Tesselation Presets which appear in the 3ds Max UI in the Surface Approximation rollup. These are the Low, Medium and High buttons. See also GetTessPreset() and SetTessPreset() below.

Parameters

ToggleShadedLattice()

Inverts the state of the Shaded Lattice setting for the object. This goes between 'Tesselated Mesh' and 'Shaded Lattice' surface display mode.

Parameters

GetTessPreset()

GetTessPreset() returns a pointer to the tesselation object corresponding to the specified type of tesselation preset.

Parameters

SetTessPreset()

SetTessPreset() sets the tesselation object corresponding to the specified type of tesselation preset.

Parameters

BuildEMObjectFromLofterObject()

BuildEMObjectFromLofterObject() generates a new NURBS object from the specified loft object at the current time. This function is intended for internal usage in the lofter to convert a loft object to a NURBS surface. It returns a pointer to the new NURBS object.

Parameters

BuildEMObjectFromPatchObject()

BuildEMObjectFromPatchObject() generates a new NURBS object from the specified patch object at the current time. Returns a pointer to the new NURBS object.

Parameters

DetachObjects()

DetachObjects() creates a new named NURBS object in the scene respecting the copy and relational flags like the 3ds Max Detach operation. Returns a pointer to the new object created by the detach, or NULL if an error occured.

Parameters

GetSelectionLevel()

GetSelectionLevel() returns the current sub-object selection level for the specified NURBS object.

Parameters

SetSelectionLevel()

SetSelectionLevel() sets the current sub-object selection level for the specified NURBS object.

Parameters

GetSelection()

GetSelection() returns a BitArray containing the sub-object selection state of a NURBS object.

Parameters

SetSelection()

SetSelection() sets the specified sub-object selection state of the NURBS object passed.

Parameters

MoveCurrentSelection()

MoveCurrentSelection() moves the current sub-object selection at the specified level.

Parameters

RotateCurrentSelection()

RotateCurrentSelection() rotates the current sub-object selection at the specified level.

Parameters

ScaleCurrentSelection()

ScaleCurrentSelection() scales the current sub-object selection at the specified level.

Parameters

SubObjectCount()

SubObjectCount() returns the number of sub-objects at the specified level.

Parameters

NamedSelSetCount()

NamedSelSetCount() returns the number of named selection sets at the specified level

Parameters

GetNamedSelSetName()

GetNamedSelSetName() returns the name of the nth named selection set of the specified sub-object level.

Parameters

GetNamedSelSet()

GetNamedSelSet() retrieves the name of, and BitArray holding, the named selelction set for the specified sub-object level.

Parameters

SetNamedSelSet()

SetNamedSelSet() sets the specified named selection set. The set must exist. To add a new set see AppendNamedSelSet().

Parameters

AppendNamedSelSet()

AppendNamedSelSet() adds a new named selection set to the specified object.

Parameters

DeleteCurrentSelection()

DeleteCurrentSelection() deletes the current sub-object selection.

Parameters

MapNURBSIdToSelSetIndex()

MapNURBSIdToSelSetIndex() returns the index into a sub-object selection set of the sub-object component.

Parameters

MapSelSetIndexToNURBSId()

The MapSelSetIndexToNURBSId() returns the NURBSId of the sub-object component whose selection set index is passed.

Parameters

UpdateSurfaceMapper()

The UpdateSurfaceMapper() function has the effect of pressing the "Update" button. If any other modifier is passed in, the function does nothing.

Parameters

  • Modifier* pMod - Points to the NURBS Surface Mapper WSM.