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)