IfcRoot
IfcRoot is the most abstract and root class for all entity definitions that roots in the kernel or in subsequent layers of the IFC specification. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities.

/* Generated By: IFC Tools Project EXPRESS TO JAVA COMPILER: Do not edit this file!! */
package com.vfsd.ifc2x3tc1; public abstract class IfcRoot extends InternalAccessClass implements ClassInterface
{
private static final String[] nonInverseAttributes = new String[]{"IfcGloballyUniqueId","IfcOwnerHistory","IfcLabel","IfcText"};
private java.util.ArrayList<CloneableObject> stepParameter = null;
private java.util.HashSet<ObjectChangeListener> listenerList = null;
protected int stepLineNumber;
/** GlobalId is an DEMANDED attribute - may not be null**/
protected IfcGloballyUniqueId GlobalId;
/** OwnerHistory is an DEMANDED attribute - may not be null**/
protected IfcOwnerHistory OwnerHistory;
/** Name is an OPTIONAL attribute**/
protected IfcLabel Name;
/** Description is an OPTIONAL attribute**/
protected IfcText Description;
/**
* The default constructor.
**/
public IfcRoot(){} /**
* Constructs a new IfcRoot object using the given parameters.
*
* @param GlobalId DEMANDED parameter of type IfcGloballyUniqueId - may not be null.
* @param OwnerHistory DEMANDED parameter of type IfcOwnerHistory - may not be null.
* @param Name OPTIONAL parameter of type IfcLabel
* @param Description OPTIONAL parameter of type IfcText
**/
public IfcRoot(IfcGloballyUniqueId GlobalId, IfcOwnerHistory OwnerHistory, IfcLabel Name, IfcText Description)
{
this.GlobalId = GlobalId;
this.OwnerHistory = OwnerHistory;
this.Name = Name;
this.Description = Description;
resolveInverses();
} /**
* This method initializes the IfcRoot object using the given parameters.
*
* @param GlobalId DEMANDED parameter of type IfcGloballyUniqueId - may not be null.
* @param OwnerHistory DEMANDED parameter of type IfcOwnerHistory - may not be null.
* @param Name OPTIONAL parameter of type IfcLabel
* @param Description OPTIONAL parameter of type IfcText
**/
public void setParameters(IfcGloballyUniqueId GlobalId, IfcOwnerHistory OwnerHistory, IfcLabel Name, IfcText Description)
{
this.GlobalId = GlobalId;
this.OwnerHistory = OwnerHistory;
this.Name = Name;
this.Description = Description;
resolveInverses();
} /**
* This method is used internally and should NOT be used for own purposes.
**/
void initialize(java.util.ArrayList<CloneableObject> parameters)
{
this.GlobalId = (IfcGloballyUniqueId) parameters.get(0);
this.OwnerHistory = (IfcOwnerHistory) parameters.get(1);
this.Name = (IfcLabel) parameters.get(2);
this.Description = (IfcText) parameters.get(3);
resolveInverses();
} /**
* This method is used internally and should NOT be used for own purposes.
**/
void destruct()
{
listenerList = null;
} private void resolveInverses()
{
} /**
* This method is used internally and should NOT be used for own purposes.
**/
String[] getNonInverseAttributeTypes()
{
return IfcRoot.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("IFCROOT(");
if(getRedefinedDerivedAttributeTypes().contains("GlobalId")) stepString = stepString.concat("*,");
else{
if(this.GlobalId != null) stepString = stepString.concat(((RootInterface)this.GlobalId).getStepParameter(IfcGloballyUniqueId.class.isInterface())+",");
else stepString = stepString.concat("$,");
}
if(getRedefinedDerivedAttributeTypes().contains("OwnerHistory")) stepString = stepString.concat("*,");
else{
if(this.OwnerHistory != null) stepString = stepString.concat(((RootInterface)this.OwnerHistory).getStepParameter(IfcOwnerHistory.class.isInterface())+",");
else stepString = stepString.concat("$,");
}
if(getRedefinedDerivedAttributeTypes().contains("Name")) stepString = stepString.concat("*,");
else{
if(this.Name != null) stepString = stepString.concat(((RootInterface)this.Name).getStepParameter(IfcLabel.class.isInterface())+",");
else stepString = stepString.concat("$,");
}
if(getRedefinedDerivedAttributeTypes().contains("Description")) stepString = stepString.concat("*);");
else{
if(this.Description != null) stepString = stepString.concat(((RootInterface)this.Description).getStepParameter(IfcText.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 GlobalId attribute to the given value.
*
* @param GlobalId OPTIONAL value to set
**/
public void setGlobalId(IfcGloballyUniqueId GlobalId)
{
this.GlobalId = GlobalId;
fireChangeEvent();
} /**
* This method returns the value of the GlobalId attribute.
*
* @return the value of GlobalId
/**/
public IfcGloballyUniqueId getGlobalId()
{
return this.GlobalId;
} /**
* This method sets the OwnerHistory attribute to the given value.
*
* @param OwnerHistory OPTIONAL value to set
**/
public void setOwnerHistory(IfcOwnerHistory OwnerHistory)
{
this.OwnerHistory = OwnerHistory;
fireChangeEvent();
} /**
* This method returns the value of the OwnerHistory attribute.
*
* @return the value of OwnerHistory
/**/
public IfcOwnerHistory getOwnerHistory()
{
return this.OwnerHistory;
} /**
* This method sets the Name attribute to the given value.
*
* @param Name DEMANDED value to set - may not be null
**/
public void setName(IfcLabel Name)
{
this.Name = Name;
fireChangeEvent();
} /**
* This method returns the value of the Name attribute.
*
* @return the value of Name
/**/
public IfcLabel getName()
{
return this.Name;
} /**
* This method sets the Description attribute to the given value.
*
* @param Description DEMANDED value to set - may not be null
**/
public void setDescription(IfcText Description)
{
this.Description = Description;
fireChangeEvent();
} /**
* This method returns the value of the Description attribute.
*
* @return the value of Description
/**/
public IfcText getDescription()
{
return this.Description;
} /**
* 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 abstract Object clone(); /**
* This method copys the object as shallow copy (all referenced objects are remaining).
*
* @return the cloned object
**/
public abstract Object shallowCopy(); /**
* This method returns the objects standard description.
*
* @return the standard description
**/
public String toString()
{
return "#"+ this.getStepLineNumber() + " " + this.getClass().getSimpleName();
} }
IfcRoot的更多相关文章
- xBIM 高级03 更改日志创建
系列目录 [已更新最新开发文章,点击查看详细] 模型中发生的每一个变化都是事务的一部分,这是我们设计的核心.所有事务都是由 IModel 的实现创建的,并且从中被弱引用,因此当使用 using ...
- Xbim.GLTF源码解析(二):IFC和GLTF的对应关系
原创作者:flowell,转载请标明出处:https://www.cnblogs.com/flowell/p/10839179.html IFC IFC是建筑信息模型(BIM)数据开放的国际标准,在建 ...
- IfcColumn
IfcColumn is a vertical structural member which often is aligned with a structural grid intersection ...
- IfcBeam属性
IfcBeam属性和结构 <xs:element name="IfcBeam" type="ifc:IfcBeam" substitutionGroup= ...
- IFC文件介绍
IFC是一个数据交换标准, 用于不同系统交换和共享数据. IFC是采用EXPRESS语言定义的实体关系模型,由几百个实体对象组成.实体对象包括建筑要素如IfcWall,几何元素如IfcExtruded ...
- IfcSlab
// IfcRoot ----------------------------------------------------------- // attributes: // shared_ptr& ...
- IfcWallStandardCase
ENTITY IfcWallStandardCase SUBTYPE OF (IfcWall); WHERE HasMaterialLayerSetUsage : SIZEOF (QUERY(temp ...
随机推荐
- 【Nginx】将http升级到https并且同时支持http和https两种请求
一.如何将http升级到https 需要满足下面三个: 1.域名 2.nginx 3.SSL证书 一般第三方证书颁发机构下发的证书是收费的,一年好几千. 1) 从腾讯云申请免费的SSL证 ...
- 《linux就该这么学》课堂笔记03 命令初识 echo、date、reboot、poweroff、wget...
Linux进程的六种状态(R.S.D.T.Z.X): R --- TASK_RUNNING(可执行状态) S --- TASK_INTERRUPTIBLE(可中断的睡眠状态) D --- TASK_U ...
- centos7搭建lnmp
一.准备 1. 修改网络yum源 先将系统自带的yum配置文件重命名或删除,然后下载下面两个文件 阿里云:http://mirrors.aliyun.com/repo/Centos-7.repo ep ...
- Centos 实战-MySQL定时全量备份(1)
/usr/bin/mysqldump -uroot -p123456 --lock-all-tables --flush-logs test > /home/backup.sql 如上一段代码所 ...
- mysql免安装版本测试(mysql-5.7.18-winx64)
最近在某大学代课要安装mysql,由于他们的电脑机器不能用installer安装(具体原因我也不清楚,一点击就显示要结束进程),在查阅了资料之后在我的小笔记本上做了一把实验,下面记录过程 参考博客为: ...
- 到底该不该用RTOS——rtos的优点
我现在要不要学习RTOS? 学习RTOS有什么好处? 我的项目要不要跑RTOS? ······等等一些关于RTOS的问题,其实归根结底还是你对RTOS了解的不够,项目开发的经验还不足等. 针对这部分朋 ...
- 洛谷 P1120 小木棍 题解
每日一题 day54 打卡 Analysis 一,管理员已经在题目中告诉你输入时去掉长度大于50的木棍. 二,想好搜索什么.很明显我们要枚举把哪些棍子拼接成原来的长棍,而原始长度(原来的长棍的长度)都 ...
- django的惰性查询
django中的查询,在写好查询条件之后,在不调用变量的时候,sql是不会执行的,只有在调用变量的时候,才回去执行, 在一次查询之后,会把变量放进内存,下次再使用这个变量的时候就会使用内存汇总的值. ...
- timeout/timelimit
timelimit
- Linux常用命令简述--dirname与basename
dirname 获取父目录 basename 显示最后的目录名或文件名 .dirname [root@liang ~]# dirname /etc/httpd/ /etc [root@liang ~] ...