package org.jnect.demo.incquery.gef3d; import org.eclipse.draw2d.IFigure; import org.eclipse.gef.GraphicalEditPart; import org.eclipse.gef3d.factories.DisplayMode; import org.eclipse.gef3d.factories.IFigureFactory; import org.jnect.bodymodel.Head; import org.jnect.demo.incquery.gef3d.figures.Body3DFigure; import org.jnect.demo.incquery.gef3d.figures.HL3DFigure; import org.jnect.demo.incquery.gef3d.figures.PE3DFigure; import org.jnect.demo.incquery.gef3d.parts.Body3DPart; import org.jnect.demo.incquery.gef3d.parts.HL3DPart; import org.jnect.demo.incquery.gef3d.parts.PE3DPart; /** * 3D figure factory for visualizing Jnect models in true 3D. * @author istvanrath * */ public class Jnect3DFigureFactory implements IFigureFactory { @Override public DisplayMode getMode() { return DisplayMode.ThreeDimensional; } @Override public IFigure createFigure(GraphicalEditPart i_controller, Object i_hint) { IFigure fig = null; if (i_controller instanceof PE3DPart) { if (i_controller.getModel() instanceof Head) { fig = new PE3DFigure(true); } else { fig = new PE3DFigure(false); } } else if (i_controller instanceof Body3DPart) { fig = new Body3DFigure(); } else if (i_controller instanceof HL3DPart) { fig = new HL3DFigure(); } return fig; } }