[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model Constraints.java,NONE,1.1
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2006-01-11 13:35:05
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22935/src/net/sourceforge/bprocessor/model Added Files: Constraints.java Log Message: Constraints contains all constraints and take care of updating --- NEW FILE: Constraints.java --- //--------------------------------------------------------------------------------- // $Id: Constraints.java,v 1.1 2006/01/11 13:34:47 henryml Exp $ // // Copyright (c) 2005 The BProcessor Team (http://bprocessor.sourceforge.net) // Released under the Lesser GNU Public License v2.1 //--------------------------------------------------------------------------------- package net.sourceforge.bprocessor.model; import java.util.Collection; import java.util.Iterator; import java.util.LinkedList; /** * Constraints contains all constraints on the geometry */ public class Constraints { /** The constraints */ private Collection constraints; /** The singular Constraints instance */ private static Constraints instance = new Constraints(); /** * Return the singular instance * @return The singular instance */ public static Constraints getInstance() { return instance; } /** * Constructor for constraints */ public Constraints() { constraints = new LinkedList(); } /** * Add a constraint * @param constraint The constraint to add */ public void add(Constraint constraint) { constraints.add(constraint); } /** * Remove a constraint * @param constraint The constraint to remove */ public void remove(Constraint constraint) { constraints.remove(constraint); } /** * Update all constraints related to entity * @param entity The changed entity */ public void update(Entity entity) { // TODO implement general constraint updating mechanism // that ensures that constraints are updated in correct // order Iterator iter = constraints.iterator(); while (iter.hasNext()) { Constraint current = (Constraint) iter.next(); if (current.depends(entity)) { current.update(entity); } } entity.changed(); } } |