/**
* 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;
}

/* 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:info@ifctoolsproject.com'>info@ifctoolsproject.com</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();}

}

IfcEdge的更多相关文章

随机推荐

  1. Linux中怎么升级PHP

    推荐yum源安装: #查看 删除老php版本的源 yum list installed | grep php yum remove php.x86_64 php-cli.x86_64 php-comm ...

  2. centos 6.5 忘记用户名和密码

    1,启动虚拟机,出现下面的倒计时界面时,按键盘上的e键 (说明:要确保光标此时已经在虚拟机内了,要不然,按了e键,也是在windows内,无效.e代表edit,启动前编辑) 2,进入如下后界面,再按e ...

  3. C++类库开发详解(转)

    前言:这是一篇总结性的文章,需要有一点C++和dll基本知识的基础,在网上查阅了很多资料感觉没有一篇详细.具体.全面的dll开发介绍,我这是根据最近项目和网上资料整理出来的,并附带实例的一个总结性的文 ...

  4. Django 数据库查询集合(多对多)

    Django 数据库查询集合(双下划线连表操作) 目录: 1.Django环境搭建 2.数据库建表 3.写入数据 4.查询语句 Django环境搭建 1.安装django pip install dj ...

  5. Zipkin 知识点

    在Spring Cloud D版本,zipkin-server通过引入依赖的方式构建工程,自从E版本之后,这一方式改变了,采用官方的jar形式启动. 出处:https://juejin.im/post ...

  6. 配置/更改vue项目中的资源路径

    打开 build/webpack.base.conf.js  ,在module.exports .resolve.alias下自定义: alias: { 'vue$': 'vue/dist/vue.e ...

  7. Gym-101242B:Branch Assignment(最短路,四边形不等式优化DP)

    题意:要完成一个由s个子项目组成的项目,给b(b>=s)个部门分配,从而把b个部门分成s个组.分组完成后,每一组的任 意两个点之间都要传递信息.假设在(i,j)两个点间传送信息,要先把信息加密, ...

  8. 【大数据】HBase启动

    zkServer.sh start start-dfs.sh start-yarn.sh start-hbase.sh hbase shell exit http://192.168.1.180:16 ...

  9. w5500驱动使用方法调试笔记

    1.w5500有两种方式可以运行的,server端一般用中断的方式,效率比较高,client使用查询的模式,本身自带2k的发送缓存和2k的接收缓存.2.查询模式:有数据的时候,查询模式可以每隔一段时间 ...

  10. Codeforces 1038 D. Slime

    [传送门] 其实就是这些数字前面能加正负号,在满足正负号均出现的情况下价值最大.那么就可以无脑DP$f[i][j][k]$表示到了第$i$位,正号是否出现($j$.$k$为$0$或$1$)能得到的最大 ...