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 ...
随机推荐
- php迭代器模式(iterator pattern)
... <?php /* The iterator pattern is used to traverse a container and access its elements. In oth ...
- jmeter中如何引用Java
通过source()获取java文件: vars.get,获取参数type_id的值
- 使用python处理selenium中的获取元素属性
# 获取我的订单元素class属性值 get_class_name = driver.find_element_by_link_text('我的订单').get_attribute('class') ...
- js地理定位对象 navigator.geolocation
浏览器信息的存储对象(navigator): 在新的API标准中,可以通过navigator.geolocation来获取设备的当前位置,返回一个位置对象,用户可以从这个对象中得到一些经纬度的相关信息 ...
- mcp2515屏蔽寄存器和过滤寄存器的学习
mcp2515是can控制器,简单的来讲,就是只要配置好寄存器,芯片就能够自动的解析can数据帧,同时保存到接收缓存中,提醒单片机可以读取can的数据字节. 读取的方式是快速spi,可以达到10Mbi ...
- linux内核中的文件描述符(二)--socket和文件描述符
http://blog.csdn.net/ce123_zhouwei/article/details/8459730 Linux内核中的文件描述符(二)--socket和文件描述符 Kernel ve ...
- XXE(外部实体注入攻击)
利用XXE漏洞可以进行拒绝服务攻击.文件读取.命令代码执行.SQL(XSS)注入.内外扫描端口和入侵内网站点等,内网探测和入侵是利用XXE中支持的协议进行内网主机和端口的发现,可以理解为使用XXE进行 ...
- Docker for Window 数据库路径注意事项
Windows和Linux的文件路径格式不同,以第一行为例的话要改为//D/work/fronent-api:/www //D:标识D盘,如果是其他盘,如F盘://F/
- 如何保证最少消费一次redis的list队列数据
简使用pop,不能保证最少消费一次,比如pop超时可能中途丢失,或者消费者处理过程中异常而未能处理完. 解决此问题有多种方法: 1) 方法一:使用rpoplpush替代pop 这种方法相当于建立了一个 ...
- Bzoj 4517: [Sdoi2016]排列计数(排列组合)
4517: [Sdoi2016]排列计数 Time Limit: 60 Sec Memory Limit: 128 MB Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ...