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)