本文整理汇总了C++中CAVector::Remove方法的典型用法代码示例。如果您正苦于以下问题:C++ CAVector::Remove方法的具体用法?C++ CAVector::Remove怎么用?C++ CAVector::Remove使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CAVector
的用法示例。
在下文中一共展示了CAVector::Remove方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RemovePatternPoints
void CToolCervicales::RemovePatternPoints(CAVector& Vector){
BOOL Removed;
for (int k=Vector.GetSize()-1;k>=0;k--) {
// for each existing point do
Removed = FALSE;
if (Vector.GetSize() <= 4) break;
for (int m=0;m<Vector.GetSize();m++) {
for (int l=k+1;l<Vector.GetSize();l++){
if (Vector.GetSize() <= 4) break;
if ((k!=m)&&(k!=l)) {
if ((Vector[k].x >= Vector[m].x)&&(Vector[k].y >= Vector[m].y)&&
(Vector[k].x <= Vector[l].x)&&(Vector[k].y <= Vector[l].y)) {
Vector.Remove(k);
Removed = TRUE;
break;
}
if ((Vector[k].x <= Vector[m].x)&&(Vector[k].y <= Vector[m].y)&&
(Vector[k].x >= Vector[l].x)&&(Vector[k].y >= Vector[l].y)) {
Vector.Remove(k);
Removed = TRUE;
break;
}
if ((Vector[k].x >= Vector[m].x)&&(Vector[k].y <= Vector[m].y)&&
(Vector[k].x <= Vector[l].x)&&(Vector[k].y >= Vector[l].y)) {
Vector.Remove(k);
Removed = TRUE;
break;
}
if ((Vector[k].x <= Vector[m].x)&&(Vector[k].y >= Vector[m].y)&&
(Vector[k].x >= Vector[l].x)&&(Vector[k].y <= Vector[l].y)) {
Vector.Remove(k);
Removed = TRUE;
break;
}
}
}
if (Removed) break;
}
}
}
示例2: RemoveClosePoints
void CToolCervicales::RemoveClosePoints(CAVector& Vector, int Tol) {
CAVector Hector;
for (int j=0;j<Vector.GetSize();j++) {
if (Vector.GetSize() <= 4) return;
BOOL m_Add = TRUE;
for (int k=0;k<Hector.GetSize();k++) {
if (CAVector::Distance(Vector[j], Hector[k]) < Tol) {
Hector.Add(CPoint((Vector[j].x + Hector[k].x) / 2, (Vector[j].y + Hector[k].y) / 2));
Hector.Remove(k);
m_Add = FALSE;
break;
}
}
if (m_Add) Hector.Add(Vector[j]);
if (Vector.GetSize() <= 4) break;
}
Vector = Hector;
}