/**
* 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. WingIDE Pro 7如何检查Python集成?

    在开始使用某些代码之前,让我们确保Wing已成功找到您的Python安装.立即从“ 工具”菜单中打开Python Shell工具.如果一切顺利,它应该启动Python并向您显示Python命令提示符, ...

  2. python笔记43-加解密AES/CBC/pkcs7padding

    前言 有些公司对接口的安全要求比较高,传参数的时候,不会明文的传输,先对接口加密,返回的数据也加密返回. 目前比较常见的加密方式是AES/CBC/pkcs7padding. AES五种加密模式 在AE ...

  3. Vue之Action

    (1)同步与异步 在 mutation 中混合异步调用会导致你的程序很难调试. 例如,当你调用了两个包含异步回调的 mutation 来改变状态,你怎么知道什么时候回调和哪个先回调呢? 这就是为什么我 ...

  4. 《团队名称》第八次团队作业:Alpha冲刺day5

    项目 内容 这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十二 团队作业8-软件测试与ALPHA冲刺 团队名称 快活帮 作业学习目标 (1)掌握 ...

  5. 项目Beta冲刺(3/7)(追光的人)(2019.5.25)

    所属课程 软件工程1916 作业要求 Beta冲刺博客汇总 团队名称 追光的人 作业目标 描述Beta冲刺每日的scrum和PM报告两部分 队员学号 队员博客 221600219 小墨 https:/ ...

  6. react的优点:兼容了dsl语法与UI的组件化管理

    react的优点:兼容了dsl语法与UI的组件化管理. 组件化管理的dsl描述 UI: 虚拟dom:

  7. 11.07图论水题Test

    11.07图论水题Test 题目 描述 做法 \(BSOJ6378\) 在\(i\)位置可以到\(i+a_i\)或\(i+b_i\)求\(1\rightarrow n\)字典序最小路径 判可达性后贪心 ...

  8. Thanos prometheus 集群以及多租户解决方案docker-compose 试用(一)

    prometheus 是一个非常不多的metrics 监控解决方案,但是对于ha 以及多租户的处理并不是很好,当前有好多解决方案 cortex Thanos prometheus+ influxdb ...

  9. luogu P1725 琪露诺

    二次联通门 : luogu P1725 琪露诺 /* luogu P1725 琪露诺 DP + 线段树 用线段树维护dp[i - R] ~ dp[i - L]的最大值 然后 转移方程是 dp[i] = ...

  10. 报表导出之easypoi的应用

    报表导出有很多种方法,像之前我有写过的jxl,poi,jasperreport又或者各种商业软件,这次来简单介绍下用了许久的开源轮子easypoi. easypoi的底层原理就不介绍了.因为官方文档的 ...