/**
* 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. 大数据:Hadoop(简介)

    一.简介 定义:开源的,做分布式存储与分布式计算的平台: 功能:搭建大型数据仓库,对PB级数据进行存储.处理.分析.统计等业务:(如日志分析.数据挖掘) Hadoop工作模块 Common:提供框架和 ...

  2. 互斥锁的robust属性的介绍和使用

    一个具体的场景:在多线程中,当一个线程获得锁之后异常退出后,应该怎么处理? 方案一 使用锁的robust特性 简单地讲,就是当拥有这个锁的线程挂了后,下一个尝试去获得锁的线程会得到EOWNWERDEA ...

  3. 蓝桥杯如何训练?(附VIP题库)

    https://www.dotcpp.com/ 给大家介绍下蓝桥杯,是近几年可以说国内名气最大的程序设计类比赛了 相比国际赛事ACM,蓝桥杯入门简单.中文答题.拿奖率高,更适合国内大众化参加,近几年不 ...

  4. 《快活帮》第九次团队作业:【Beta】Scrum meeting 1

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

  5. (待做例子)问题描述: el-tab 下有2个路由,其中第1个路由设置了 beforeRouteLeave,点击 el-tab 第2个tab时,样式直接跟过去了(预期结果是:样式不到第二个tab上,beforeRouteLeave允许跳转后才到第二个tab上)

    解决: 经过以上分析,强制赋值应该在前次赋值而且DOM已经刷新完毕之后进行.可以使用$nextTick,以下是代码: handleTabClick (tab) { let name = this.fi ...

  6. 如何保护你的 Python 代码 (一)—— 现有加密方案

    https://zhuanlan.zhihu.com/p/54296517 0 前言 去年11月在PyCon China 2018 杭州站分享了 Python 源码加密,讲述了如何通过修改 Pytho ...

  7. Docker Quick Start

    翻译自官方Quick Start: https://hub.docker.com/?overlay=onboarding 以Windows为例 1.下载源码 下载构建第一个容器的所需要的所有的东西 需 ...

  8. vue基于页面中按钮权限控制

    main.js // 权限 /** 权限指令,对按钮权限的控制 **/ Vue.directive('allow', { bind: function(el, binding) { // 通过当前按钮 ...

  9. 一些开源的dashboard 解决方案

    简单收集了以下开源dashboard 的项目,记录下 plotly-dash 基于python 的dash 开发工具,很不错 项目地址 https://github.com/plotly/dash k ...

  10. java的多线程之入门

    一.java多线程基本概念 调用run():在主线程调用子线程的run()方法会中断主线程等到子线程执行完毕之后再执行主线程. 调用start():在主线程中执行子线程的start()后会与主线程同步 ...