void EnvelopeComponent::clear()
{
    int i = getNumHandles();
    
    while (i > 0)
        removeHandle(handles[--i]);
}
void EnvelopeComponent::setMinMaxNumHandles(int min, int max)
{
	if(min <= max) {
		minNumHandles = min;
		maxNumHandles = max;
	} else {
		minNumHandles = max;
		maxNumHandles = min;
	}
	
	Random rand(Time::currentTimeMillis());
	
	if(handles.size() < minNumHandles) {
		int num = minNumHandles-handles.size();
		
		for(int i = 0; i < num; i++) {
			double randX = rand.nextDouble() * (domainMax-domainMin) + domainMin;
			double randY = rand.nextDouble() * (valueMax-valueMin) + valueMin;
						
			addHandle(randX, randY, EnvCurve::Linear);
		}
		
	} else if(handles.size() > maxNumHandles) {
		int num = handles.size()-maxNumHandles;
		
		for(int i = 0; i < num; i++) {
			removeHandle(handles.getLast());
		}
	}
	
}
//====================================================
// delete handles if user selects delete from handle popup menu
//====================================================
void Table::changeListenerCallback(juce::ChangeBroadcaster *source)
{
    CabbageEnvelopeHandleComponent* hand = dynamic_cast <CabbageEnvelopeHandleComponent*> (source);
    if(hand)
    {
        //PathFlatteningIterator flatpath(envPath);
        Logger::writeToLog("Table Length in Pixels:"+String(getWidth()));
        Logger::writeToLog("Table Length in samples:"+String(tableSize));


        if(hand->changeMessage=="removeHandle")
        {
            removeHandle(hand);
            sendChangeMessage();
        }

        else if(hand->changeMessage=="updateOnMouseUp")
        {
            sendChangeMessage();
        }
    }
    //change messages being sent from this component
    else
        sendChangeMessage();
}
Example #4
0
File: H5F.c Project: patperry/rhdf5
/* herr_t H5Fclose( hid_t file_id ) */
SEXP _H5Fclose( SEXP _file_id ) {
  hid_t file_id =  INTEGER(_file_id)[0];
  herr_t herr = H5Fclose( file_id );
  if (herr == 0) {
    removeHandle(file_id);
  }

  SEXP Rval;
  PROTECT(Rval = allocVector(INTSXP, 1));
  INTEGER(Rval)[0] = herr;
  UNPROTECT(1);
  return Rval;
}
Example #5
0
void ResizeManipulator::end(Snapper::Snapping useSnapping)
{
    if (useSnapping == Snapper::UseSnappingAndAnchoring) {
        deleteSnapLines();
        m_snapper.setTransformtionSpaceFormEditorItem(m_snapper.containerFormEditorItem());
        m_snapper.updateSnappingLines(m_resizeController.formEditorItem());
        m_snapper.adjustAnchoringOfItem(m_resizeController.formEditorItem());
    }

    m_isActive = false;
    m_rewriterTransaction.commit();
    clear();
    removeHandle();
}
 void VertexHandleManager::removeBrush(Model::Brush* brush) {
     const Model::Brush::VertexList brushVertices = brush->vertices();
     Model::Brush::VertexList::const_iterator vIt, vEnd;
     for (vIt = brushVertices.begin(), vEnd = brushVertices.end(); vIt != vEnd; ++vIt) {
         const Model::BrushVertex* vertex = *vIt;
         if (removeHandle(vertex->position(), brush, m_selectedVertexHandles)) {
             assert(m_selectedVertexCount > 0);
             m_selectedVertexCount--;
         } else {
             removeHandle(vertex->position(), brush, m_unselectedVertexHandles);
         }
     }
     assert(m_totalVertexCount >= brushVertices.size());
     m_totalVertexCount -= brushVertices.size();
     
     const Model::Brush::EdgeList brushEdges = brush->edges();
     Model::Brush::EdgeList::const_iterator eIt, eEnd;
     for (eIt = brushEdges.begin(), eEnd = brushEdges.end(); eIt != eEnd; ++eIt) {
         Model::BrushEdge* edge = *eIt;
         const Vec3 position = edge->center();
         if (removeHandle(position, edge, m_selectedEdgeHandles)) {
             assert(m_selectedEdgeCount > 0);
             m_selectedEdgeCount--;
         } else {
             removeHandle(position, edge, m_unselectedEdgeHandles);
         }
     }
     assert(m_totalEdgeCount >= brushEdges.size());
     m_totalEdgeCount -= brushEdges.size();
     
     const Model::BrushFaceList& brushFaces = brush->faces();
     Model::BrushFaceList::const_iterator fIt, fEnd;
     for (fIt = brushFaces.begin(), fEnd = brushFaces.end(); fIt != fEnd; ++fIt) {
         Model::BrushFace* face = *fIt;
         const Vec3 position = face->center();
         if (removeHandle(position, face, m_selectedFaceHandles)) {
             assert(m_selectedFaceCount > 0);
             m_selectedFaceCount--;
         } else {
             removeHandle(position, face, m_unselectedFaceHandles);
         }
     }
     assert(m_totalFaceCount >= brushFaces.size());
     m_totalFaceCount -= brushFaces.size();
     m_renderStateValid = false;
 }