void SplineControl::controlPoint_FingerUp(ControlPoint &cp, const FingerEventArgs &e) { if(!controlPointContains(e)) { for(vector<ControlPoint *>::iterator it = controlPoints.begin(); it != controlPoints.end(); it++) { ControlPoint *itCp = *it; assert(itCp != NULL); if(cp.getId() == itCp->getId()) { controlPoints.erase(it); break; } } deleteInterfaceElement(&cp); } snapControlPoint(cp); fullLengthDirty = true; dirty = true; splineDirty = true; }
unsigned int Editor::getRelationSecondControlPointIndex(unsigned int relationId) { CSP* containingCSP = m_relationIdToContainingCSP[relationId]; AntPostRelation* relation = containingCSP->getAntPostRelationById(relationId); if (relation == NULL) { return NO_ID; } ControlPoint* currentControlPoint = (ControlPoint*) relation->entity2(); return currentControlPoint->getId(); }