Method Groups for Class Object

The methods in this class are grouped below.

(Links go to the Object Class Reference page.)

Deformable Object Methods
Object::IsDeformable()
Object::NumPoints()
Object::GetPoint(int i)
Object::SetPoint(int i, const Point3& p)
Object::IsPointSelected(int i)
Object::PointSelection(int i)
Object::PointsWereChanged()
Object::Deform(Deformer *defProc, int useSel=0)
NURBS Relational Weights
Object::HasWeights()
Object::GetWeight(int i)
Object::SetWeight(int i, const double w)
Bounding Box Method
Object::GetDeformBBox(TimeValue t, Box3& box, Matrix3 *tm=NULL, BOOL useSel=FALSE )
Type Conversion Methods
Object::CanConvertToType(Class_ID obtype)
Object::ConvertToType(TimeValue t, Class_ID obtype)
Face and Vertex Count Calculations
Object::PolygonCount(TimeValue t, int& numFaces, int& numVerts)
Collapse Stack Methods
Object::PreferredCollapseType()
Object::GetCollapseTypes(Tab<Class_ID> &clist,Tab<MSTR*> &nlist)
Object::CollapseObject()
Mapping Methods
Object::IsMappable()
Object::NumMapChannels()
Object::NumMapsUsed()
Object::ApplyUVWMap(int type,float utile, float vtile, float wtile,int uflip, int vflip, int wflip, int cap,const Matrix3 &tm, int channel=1)
Object Name, Properties, Display, and IntersectRay Methods
Object::IsRenderable()=0
Object::IsConstObject()
Object::InitNodeName(MSTR &s)=0
Object::UsesWireColor()
Object::DoOwnSelectHilite()
Object::IntersectRay(TimeValue t, Ray& r, float& at, Point3& norm)
Object::NormalAlignVector(TimeValue t,Point3 &pt, Point3 &norm)
Validity Interval Methods
Object::ObjectValidity(TimeValue t)
Object::UpdateValidity(int nchan, Interval v)
Shapes Within Objects
Shape viewports can reference shapes contained within objects, so the system needs to be able to access the shapes within an object. The following four methods provide this access. These methods are used by the loft object. Since loft objects are made up of shapes, this gives the system the ability to query the object to find out if it is a shape container. Most objects don't contain shapes so they can just use the default implementations.
Object::NumberOfContainedShapes()
Object::GetContainedShape(TimeValue t, int index)
Object::GetContainedShapeMatrix(TimeValue t, int index, Matrix3 &mat)
Object::ContainedShapeSelectionArray()
Object Integrity Checking
Object::CheckObjectIntegrity()
Sub-Object Selection
Object::GetSubselState()
Data Flow Evaluation Methods
Most plug-in procedural objects do not need to be concerned with the following methods associated with locks, channels and shallow copies. The only type of plug-ins that needs to be concerned with these methods are objects that actually flow down the pipeline. Most procedural plug-ins don't go down the pipeline, instead they convert themselves to a TriObject or PatchObject, and these goes down the pipeline. It is these TriObjects or PatchObject that deal with these methods. However plug-in objects that actually flow down the pipeline will use these methods. For more information see the Advanced Topics section on the Geometry Pipeline System.
Object::Eval(TimeValue t)=0
Object::LockObject()
Object::UnlockObject()
Object::IsObjectLocked()
Object::LockChannels(ChannelMask channels)
Object::UnlockChannels(ChannelMask channels)
Object::GetChannelLocks()
Object::SetChannelLocks(ChannelMask channels)
Object::GetChannelLocks(ChannelMask m)
Object::CopyChannelLocks(Object *obj, ChannelMask needChannels)
Object::ChannelValidity(TimeValue t, int nchan)
Object::SetChannelValidity(int nchan, Interval v)
Object::InvalidateChannels(ChannelMask channels)
Object::ReadyChannelsForMod(ChannelMask channels)
Object::MakeShallowCopy(ChannelMask channels)
Object::ShallowCopy(Object* fromOb, ChannelMask channels)
Object::NewAndCopyChannels(ChannelMask channels)
Object::FreeChannels(ChannelMask channels)
Object::GetNoEvalInterval()
Object::SetNoEvalInterval(Interval iv)
Object::ReduceCaches(TimeValue t)
Modifier Stack Branching Methods.
Object::NumPipeBranches(bool selected = true)
Object::GetPipeBranch(int i, bool selected = true)
Object::GetBranchINode(TimeValue t, INode *node, int i, bool selected = true)
Particle System Methods
Object::CanCacheObject()
Object::WSStateInvalidate()
Object::IsWorldSpaceObject()
Object::FindBaseObject()
Parametric Surface Access
Object::IsParamSurface()
Object::NumSurfaces(TimeValue t)
Object::GetSurfacePoint(TimeValue t, float u, float v,Interval &iv)
Object::GetSurfacePoint(TimeValue t, int surface, float u, float v,Interval &iv)
Object::SurfaceClosed(TimeValue t, int surface, BOOL &uClosed, BOOL &vClosed)
Viewport Rectangle Enlargement
Object::MaybeEnlargeViewportRect(GraphicsWindow *gw, Rect &rect)
Object::GetExtendedProperties(TimeValue t, MSTR &prop1Label, MSTR &prop1Data, MSTR &prop2Label, MSTR &prop2Data)
ExtensionChannel Access :
Object::AddXTCObject(XTCObject *pObj, int priority = 0, int branchID = -1)
Object::NumXTCObjects()
Object::GetXTCObject(int index)
Object::RemoveXTCObject(int index)
Object::SetXTCObjectPriority(int index,int priority)
Object::GetXTCObjectPriority(int index)
Object::SetXTCObjectBranchID(int index,int branchID)
Object::GetXTCObjectBranchID(int index)
Object::MergeAdditionalChannels(Object *from, int branchID)
Object::BranchDeleted(int branchID, bool reorderChannels)
Object::CopyAdditionalChannels(Object *from, bool deleteOld = true, bool bShallowCopy = false)
Object::DeleteAllAdditionalChannels()
The following function is not part of this class but is available for use:
void GetPolygonCount(TimeValue t, Object* pObj, int& numFaces, int& numVerts)