IfcEdge

/* Generated By: IFC Tools Project EXPRESS TO JAVA COMPILER: Do not edit this file!! */
package ifc2x3javatoolbox.ifc2x3tc1;
/**
 * This is a default implementation of the entity IfcEdge<br><br>
 *<br><br>
 * Copyright: CC BY-NC-SA 3.0 DE (cc) 2013 Eike Tauscher and Michael Theiler<br><br>
 * The whole package including this class is licensed under<br>
 * <a rel='license' href='http://creativecommons.org/licenses/by-nc-sa/3.0/de/deed.en/'>
 * Creative Commons Attribution-Non-Commercial-Share Alike 3.0 Germany</a>.<br><br>
 * If you are using the package or parts of it in any commercial way, a commercial license is required. 
 * Visit <a href='http://www.ifctoolsproject.com'>http://www.ifctoolsproject.com</a> for more information
 * or contact us directly: <a href='mailto:[email protected]'>[email protected]</a><br>
 */
public class IfcEdge extends IfcTopologicalRepresentationItem implements ClassInterface
{
    private static final String[] nonInverseAttributes = new String[]{"IfcVertex","IfcVertex"};
    private java.util.ArrayList<CloneableObject> stepParameter = null;
    private java.util.HashSet<ObjectChangeListener> listenerList = null;
    protected int stepLineNumber;
    /** EdgeStart is an DEMANDED attribute - may not be null**/
    protected IfcVertex EdgeStart;
    /** EdgeEnd is an DEMANDED attribute - may not be null**/
    protected IfcVertex EdgeEnd;
    /**
    * The default constructor.
    **/
    public IfcEdge(){}

    /**
    * Constructs a new IfcEdge object using the given parameters.
    *
    * @param EdgeStart DEMANDED parameter of type IfcVertex - may not be null.
    * @param EdgeEnd DEMANDED parameter of type IfcVertex - may not be null.
    **/
    public IfcEdge(IfcVertex EdgeStart, IfcVertex EdgeEnd)
    {
        this.EdgeStart = EdgeStart;
        this.EdgeEnd = EdgeEnd;
        resolveInverses();
    }

    /**
     * This method initializes the IfcEdge object using the given parameters.
    *
    * @param EdgeStart DEMANDED parameter of type IfcVertex - may not be null.
    * @param EdgeEnd DEMANDED parameter of type IfcVertex - may not be null.
    **/
    public void setParameters(IfcVertex EdgeStart, IfcVertex EdgeEnd)
    {
        this.EdgeStart = EdgeStart;
        this.EdgeEnd = EdgeEnd;
        resolveInverses();
    }

    /**
     * This method is used internally and should NOT be used for own purposes.
    **/
    void initialize(java.util.ArrayList<CloneableObject> parameters)
    {
        this.EdgeStart = (IfcVertex) parameters.get(0);
        this.EdgeEnd = (IfcVertex) parameters.get(1);
        resolveInverses();
    }

    /**
     * This method is used internally and should NOT be used for own purposes.
    **/
    void destruct()
    {
         super.destruct();
        listenerList = null;
    }

    private void resolveInverses()
    {
    }

    /**
     * This method is used internally and should NOT be used for own purposes.
    **/
    String[] getNonInverseAttributeTypes()
    {
        return IfcEdge.nonInverseAttributes;    }

    /**
     * This method is used internally and should NOT be used for own purposes.
    **/
    private java.util.HashSet<String> getRedefinedDerivedAttributeTypes()
    {
        java.util.HashSet<String> redefinedDerivedAttributes = new java.util.HashSet<String>();
        return redefinedDerivedAttributes;    }

    /**
 * This method returns the object IFC  STEP representation. This method is called by the IfcModel object to write IFC STEP files.
     *
     * @return the IFC STEP representation of this object
    **/
    public String getStepLine()
    {
        String stepString = new String("#"+this.stepLineNumber+"= ");
        stepString = stepString.concat("IFCEDGE(");
        if(getRedefinedDerivedAttributeTypes().contains("EdgeStart")) stepString = stepString.concat("*,");
        else{
        if(this.EdgeStart != null)        stepString = stepString.concat(((RootInterface)this.EdgeStart).getStepParameter(IfcVertex.class.isInterface())+",");
        else        stepString = stepString.concat("$,");
        }
        if(getRedefinedDerivedAttributeTypes().contains("EdgeEnd")) stepString = stepString.concat("*);");
        else{
        if(this.EdgeEnd != null)        stepString = stepString.concat(((RootInterface)this.EdgeEnd).getStepParameter(IfcVertex.class.isInterface())+");");
        else        stepString = stepString.concat("$);");
        }
        return stepString;
    }

    /**
     * This method is used internally and should NOT be used for own purposes.
    **/
    public String getStepParameter(boolean isSelectType)
    {
        return "#" + this.stepLineNumber;
    }

    /**
     * This method returns the line number within a IFC  STEP representation. This method is called from other objects, where this one is referenced.
     *
     * @return the STEP line number
    **/
    public int getStepLineNumber()
    {
        return this.stepLineNumber;
    }

    /**
     * This method is used internally and should NOT be used for own purposes.
    **/
    void setStepLineNumber(int number)
    {
        this.stepLineNumber = number;
    }

    /**
    * This method sets the EdgeStart attribute to the given value.
    *
    * @param EdgeStart OPTIONAL value to set
    **/
    public void setEdgeStart(IfcVertex EdgeStart)
    {
        this.EdgeStart = EdgeStart;
        fireChangeEvent();
    }

    /**
    * This method returns the value of the EdgeStart attribute.
    *
    * @return the value of EdgeStart
    /**/
    public IfcVertex getEdgeStart()
    {
        return this.EdgeStart;
    }

    /**
    * This method sets the EdgeEnd attribute to the given value.
    *
    * @param EdgeEnd OPTIONAL value to set
    **/
    public void setEdgeEnd(IfcVertex EdgeEnd)
    {
        this.EdgeEnd = EdgeEnd;
        fireChangeEvent();
    }

    /**
    * This method returns the value of the EdgeEnd attribute.
    *
    * @return the value of EdgeEnd
    /**/
    public IfcVertex getEdgeEnd()
    {
        return this.EdgeEnd;
    }

    /**
     * This method is used internally and should NOT be used for own purposes.
    **/
    void setStepParameter(java.util.ArrayList<CloneableObject> parameter)
    {
        this.stepParameter = parameter;
    }

    /**
     * This method is used internally and should NOT be used for own purposes.
    **/
    java.util.ArrayList<CloneableObject> getStepParameter()
    {
        return this.stepParameter;
    }

    /**
     * This method registers an ObjectChangeListener to this object. An event is fired whenever one of its values was changed.
     * 
     *@param listener the listener to register
    **/
    public void addObjectChangeListener(ObjectChangeListener listener)
    {
        if (listenerList == null)    listenerList = new java.util.HashSet<ObjectChangeListener>(1,1);
        listenerList.add(listener);
    }

    /**
     * This method unregisters an ObjectChangeListener from this object.
     * 
     *@param listener the listener to unregister
    **/
    public void removeObjectChangeListener(ObjectChangeListener listener)
    {
        if (listenerList == null)    return;
        listenerList.remove(listener);
        if (listenerList.size()==0) listenerList = null;
    }

    /**
     * This method removes all currently registered ObjectChangeListeners from this object.
    **/
    public void removeAllObjectChangeListeners()
    {
        listenerList = null;
    }

    protected void fireChangeEvent()
    {
        if(listenerList == null) return;
        for(ObjectChangeListener listener : listenerList)
            listener.ifcModelObjectChange(this);
    }

    /**
     * This method clones the object (deep cloning).
     *
     * @return the cloned object
    **/
    public Object clone()
    {
        IfcEdge ifcEdge = new IfcEdge();
        if(this.EdgeStart != null)
            ifcEdge.setEdgeStart((IfcVertex)this.EdgeStart.clone());
        if(this.EdgeEnd != null)
            ifcEdge.setEdgeEnd((IfcVertex)this.EdgeEnd.clone());
        return ifcEdge;
    }

    /**
     * This method copys the object as shallow copy (all referenced objects are remaining).
     *
     * @return the cloned object
    **/
    public Object shallowCopy()
    {
        IfcEdge ifcEdge = new IfcEdge();
        if(this.EdgeStart != null)
            ifcEdge.setEdgeStart(this.EdgeStart);
        if(this.EdgeEnd != null)
            ifcEdge.setEdgeEnd(this.EdgeEnd);
        return ifcEdge;
    }

    /**
    * This method returns the objects standard description.
    *
    * @return the standard description
    **/
    public String toString()
    {
        return "#"+ this.getStepLineNumber() + " " + this.getClass().getSimpleName();
    }


}

/* Generated By: IFC Tools Project EXPRESS TO JAVA COMPILER: Do not edit this file!! */package ifc2x3javatoolbox.ifc2x3tc1;/** * This is a default implementation of the entity IfcEdge<br><br> *<br><br> * Copyright: CC BY-NC-SA 3.0 DE (cc) 2013 Eike Tauscher and Michael Theiler<br><br> * The whole package including this class is licensed under<br> * <a rel='license' href='http://creativecommons.org/licenses/by-nc-sa/3.0/de/deed.en/'> * Creative Commons Attribution-Non-Commercial-Share Alike 3.0 Germany</a>.<br><br> * If you are using the package or parts of it in any commercial way, a commercial license is required.  * Visit <a href='http://www.ifctoolsproject.com'>http://www.ifctoolsproject.com</a> for more information * or contact us directly: <a href='mailto:[email protected]'>[email protected]</a><br> */public class IfcEdge extends IfcTopologicalRepresentationItem implements ClassInterface{private static final String[] nonInverseAttributes = new String[]{"IfcVertex","IfcVertex"};private java.util.ArrayList<CloneableObject> stepParameter = null;private java.util.HashSet<ObjectChangeListener> listenerList = null;protected int stepLineNumber;/** EdgeStart is an DEMANDED attribute - may not be null**/protected IfcVertex EdgeStart;/** EdgeEnd is an DEMANDED attribute - may not be null**/protected IfcVertex EdgeEnd;/*** The default constructor.**/public IfcEdge(){}
/*** Constructs a new IfcEdge object using the given parameters.** @param EdgeStart DEMANDED parameter of type IfcVertex - may not be null.* @param EdgeEnd DEMANDED parameter of type IfcVertex - may not be null.**/public IfcEdge(IfcVertex EdgeStart, IfcVertex EdgeEnd){this.EdgeStart = EdgeStart;this.EdgeEnd = EdgeEnd;resolveInverses();}
/** * This method initializes the IfcEdge object using the given parameters.** @param EdgeStart DEMANDED parameter of type IfcVertex - may not be null.* @param EdgeEnd DEMANDED parameter of type IfcVertex - may not be null.**/public void setParameters(IfcVertex EdgeStart, IfcVertex EdgeEnd){this.EdgeStart = EdgeStart;this.EdgeEnd = EdgeEnd;resolveInverses();}
/** * This method is used internally and should NOT be used for own purposes.**/void initialize(java.util.ArrayList<CloneableObject> parameters){this.EdgeStart = (IfcVertex) parameters.get(0);this.EdgeEnd = (IfcVertex) parameters.get(1);resolveInverses();}
/** * This method is used internally and should NOT be used for own purposes.**/void destruct(){ super.destruct();listenerList = null;}
private void resolveInverses(){}
/** * This method is used internally and should NOT be used for own purposes.**/String[] getNonInverseAttributeTypes(){return IfcEdge.nonInverseAttributes;}
/** * This method is used internally and should NOT be used for own purposes.**/private java.util.HashSet<String> getRedefinedDerivedAttributeTypes(){java.util.HashSet<String> redefinedDerivedAttributes = new java.util.HashSet<String>();return redefinedDerivedAttributes;}
/** * This method returns the object IFC  STEP representation. This method is called by the IfcModel object to write IFC STEP files. * * @return the IFC STEP representation of this object**/public String getStepLine(){String stepString = new String("#"+this.stepLineNumber+"= ");stepString = stepString.concat("IFCEDGE(");if(getRedefinedDerivedAttributeTypes().contains("EdgeStart")) stepString = stepString.concat("*,");else{if(this.EdgeStart != null)stepString = stepString.concat(((RootInterface)this.EdgeStart).getStepParameter(IfcVertex.class.isInterface())+",");elsestepString = stepString.concat("$,");}if(getRedefinedDerivedAttributeTypes().contains("EdgeEnd")) stepString = stepString.concat("*);");else{if(this.EdgeEnd != null)stepString = stepString.concat(((RootInterface)this.EdgeEnd).getStepParameter(IfcVertex.class.isInterface())+");");elsestepString = stepString.concat("$);");}return stepString;}
/** * This method is used internally and should NOT be used for own purposes.**/public String getStepParameter(boolean isSelectType){return "#" + this.stepLineNumber;}
/** * This method returns the line number within a IFC  STEP representation. This method is called from other objects, where this one is referenced. * * @return the STEP line number**/public int getStepLineNumber(){return this.stepLineNumber;}
/** * This method is used internally and should NOT be used for own purposes.**/void setStepLineNumber(int number){this.stepLineNumber = number;}
/*** This method sets the EdgeStart attribute to the given value.** @param EdgeStart OPTIONAL value to set**/public void setEdgeStart(IfcVertex EdgeStart){this.EdgeStart = EdgeStart;fireChangeEvent();}
/*** This method returns the value of the EdgeStart attribute.** @return the value of EdgeStart/**/public IfcVertex getEdgeStart(){return this.EdgeStart;}
/*** This method sets the EdgeEnd attribute to the given value.** @param EdgeEnd OPTIONAL value to set**/public void setEdgeEnd(IfcVertex EdgeEnd){this.EdgeEnd = EdgeEnd;fireChangeEvent();}
/*** This method returns the value of the EdgeEnd attribute.** @return the value of EdgeEnd/**/public IfcVertex getEdgeEnd(){return this.EdgeEnd;}
/** * This method is used internally and should NOT be used for own purposes.**/void setStepParameter(java.util.ArrayList<CloneableObject> parameter){this.stepParameter = parameter;}
/** * This method is used internally and should NOT be used for own purposes.**/java.util.ArrayList<CloneableObject> getStepParameter(){return this.stepParameter;}
/** * This method registers an ObjectChangeListener to this object. An event is fired whenever one of its values was changed. *  *@param listener the listener to register**/public void addObjectChangeListener(ObjectChangeListener listener){if (listenerList == null)listenerList = new java.util.HashSet<ObjectChangeListener>(1,1);listenerList.add(listener);}
/** * This method unregisters an ObjectChangeListener from this object. *  *@param listener the listener to unregister**/public void removeObjectChangeListener(ObjectChangeListener listener){if (listenerList == null)return;listenerList.remove(listener);if (listenerList.size()==0) listenerList = null;}
/** * This method removes all currently registered ObjectChangeListeners from this object.**/public void removeAllObjectChangeListeners(){listenerList = null;}
protected void fireChangeEvent(){if(listenerList == null) return;for(ObjectChangeListener listener : listenerList)listener.ifcModelObjectChange(this);}
/** * This method clones the object (deep cloning). * * @return the cloned object**/public Object clone(){IfcEdge ifcEdge = new IfcEdge();if(this.EdgeStart != null)ifcEdge.setEdgeStart((IfcVertex)this.EdgeStart.clone());if(this.EdgeEnd != null)ifcEdge.setEdgeEnd((IfcVertex)this.EdgeEnd.clone());return ifcEdge;}
/** * This method copys the object as shallow copy (all referenced objects are remaining). * * @return the cloned object**/public Object shallowCopy(){IfcEdge ifcEdge = new IfcEdge();if(this.EdgeStart != null)ifcEdge.setEdgeStart(this.EdgeStart);if(this.EdgeEnd != null)ifcEdge.setEdgeEnd(this.EdgeEnd);return ifcEdge;}
/*** This method returns the objects standard description.** @return the standard description**/public String toString(){return "#"+ this.getStepLineNumber() + " " + this.getClass().getSimpleName();}

}

猜你喜欢

转载自www.cnblogs.com/herd/p/12003213.html
今日推荐