本文整理汇总了C++中BaseObject::GetNext方法的典型用法代码示例。如果您正苦于以下问题:C++ BaseObject::GetNext方法的具体用法?C++ BaseObject::GetNext怎么用?C++ BaseObject::GetNext使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BaseObject
的用法示例。
在下文中一共展示了BaseObject::GetNext方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DoRecursion
void Voxelify::DoRecursion(BaseObject *op, BaseObject *child, GeDynamicArray<Vector> &points, Matrix ml) {
BaseObject *tp;
if (child){
tp = child->GetDeformCache();
ml = ml * child->GetMl();
if (tp){
DoRecursion(op,tp,points,ml);
}
else{
tp = child->GetCache(NULL);
if (tp){
DoRecursion(op,tp,points,ml);
}
else{
if (!child->GetBit(BIT_CONTROLOBJECT)){
if (child->IsInstanceOf(Opoint)){
PointObject * pChild = ToPoint(child);
LONG pcnt = pChild->GetPointCount();
const Vector *childVerts = pChild->GetPointR();
for(LONG i=0; i < pcnt; i++){
points.Push(childVerts[i] * ml * parentMatrix);
}
}
}
}
}
for (tp = child->GetDown(); tp; tp=tp->GetNext()){
DoRecursion(op,tp,points,ml);
}
}
}
示例2: HideMaterials
/// ***************************************************************************
/// This function hides or unhides all materials used by the object *op*.
/// If *doc* is not \c nullptr, undos will be added.
/// ***************************************************************************
static void HideMaterials(BaseObject* op, Bool hide, BaseDocument* doc)
{
BaseTag* tag = op->GetFirstTag();
GeData data;
while (tag)
{
if (tag->GetType() == Ttexture && tag->GetParameter(TEXTURETAG_MATERIAL, data, DESCFLAGS_GET_0))
{
BaseMaterial* mat = static_cast<BaseMaterial*>(data.GetLink(doc, Mbase));
if (mat) HideHierarchy(mat, hide, doc, false);
}
tag = tag->GetNext();
}
BaseObject* child = op->GetDown();
while (child) {
HideMaterials(child, hide, doc);
child = child->GetNext();
}
}