本文整理汇总了C++中CFeature::CalculateTransform方法的典型用法代码示例。如果您正苦于以下问题:C++ CFeature::CalculateTransform方法的具体用法?C++ CFeature::CalculateTransform怎么用?C++ CFeature::CalculateTransform使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFeature
的用法示例。
在下文中一共展示了CFeature::CalculateTransform方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TerrainChanged
void CFeatureHandler::TerrainChanged(int x1, int y1, int x2, int y2)
{
ASSERT_SYNCED_MODE;
vector<int> quads=qf->GetQuadsRectangle(float3(x1*SQUARE_SIZE,0,y1*SQUARE_SIZE),
float3(x2*SQUARE_SIZE,0,y2*SQUARE_SIZE));
// logOutput.Print("Checking feature pos %i",quads.size());
for(vector<int>::iterator qi=quads.begin();qi!=quads.end();++qi){
list<CFeature*>::iterator fi;
list<CFeature*>& features = qf->baseQuads[*qi].features;
for(fi = features.begin(); fi != features.end(); ++fi) {
CFeature* feature = *fi;
float3& fpos = feature->pos;
if (fpos.y > ground->GetHeight(fpos.x, fpos.z)) {
SetFeatureUpdateable(feature);
if (feature->def->floating){
feature->finalHeight = ground->GetHeight(fpos.x, fpos.z);
} else {
feature->finalHeight = ground->GetHeight2(fpos.x, fpos.z);
}
feature->CalculateTransform ();
}
}
}
}