/*******************************************************************************
 * <copyright>
 *
 * Copyright (c) 2013, 2013 SAP AG.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    SAP AG - initial API, implementation and documentation
 *
 * </copyright>
 *
 *******************************************************************************/
package org.eclipse.fmc.blockdiagram.editor.model;

/**
 * The graphical FMC type.
 * 
 * @author Benjamin Schmeling 
 * 
 */
public enum FMCType {
	/**
	 * Used for invisible place holder ends, e.g. for dots connection
	 */
	Invisible, Agent, HumanAgent, Storage, StructureVariance, Channel, UnidirectionalAccess, BidirectionalAccess, ModifyAccess, UnidirectionalCommChannel, BidirectionalCommChannel, ReqRespCommChannel, Dots, DotsShape, Image, Text, CommonFeatureArea, Brace, HumanAgentIcon, Unknown, AreaBorder, Anchor;

}
