码迷,mamicode.com
首页 > 其他好文 > 详细

IfcMaterial

时间:2019-11-30 18:54:52      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:products   write   rate   object   can   copyright   red   null   rman   

IfcMaterial is a homogeneous or inhomogeneous substance that can be used to form elements (physical products or their components).

IfcMaterial is the basic entity for material designation and definition; this includes identification by name and classification (via reference to an external classification), as well as association of material properties (isotropic or anisotropic) defined by (subtypes of) IfcMaterialProperties. An instance of IfcMaterial may be associated to an element or element type using the IfcRelAssociatesMaterial relationship. The assignment might either be direct as a single material information, or via

  • a material layer set
  • a material profile set
  • a material constituent set

XSD Specification

<xs:element name="IfcMaterial" type="ifc:IfcMaterial" substitutionGroup="ifc:IfcMaterialDefinition" nillable="true"/>
 <xs:complexType name="IfcMaterial">
  <xs:complexContent>
   <xs:extension base="ifc:IfcMaterialDefinition">
    <xs:sequence>
     <xs:element name="HasRepresentation" type="ifc:IfcMaterialDefinitionRepresentation" nillable="true" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="Name" type="ifc:IfcLabel" use="optional"/>
    <xs:attribute name="Description" type="ifc:IfcText" use="optional"/>
    <xs:attribute name="Category" type="ifc:IfcLabel" use="optional"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>

 

EXPRESS Specification

ENTITY IfcMaterial
 SUBTYPE OF (IfcMaterialDefinition);
  Name : IfcLabel;
  Description : OPTIONAL IfcText;
  Category : OPTIONAL IfcLabel;
 INVERSE
  HasRepresentation : SET [0:1] OF IfcMaterialDefinitionRepresentation FOR RepresentedMaterial;
  IsRelatedWith : SET OF IfcMaterialRelationship FOR RelatedMaterials;
  RelatesTo : SET [0:1] OF IfcMaterialRelationship FOR RelatingMaterial;
END_ENTITY;

 

 

 

/* 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 IfcMaterial<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 IfcMaterial extends InternalAccessClass implements IfcObjectReferenceSelect, ClassInterface, IfcMaterialSelect
{
    private static final String[] nonInverseAttributes = new String[]{"IfcLabel"};
    private java.util.ArrayList<CloneableObject> stepParameter = null;
    private java.util.HashSet<ObjectChangeListener> listenerList = null;
    protected int stepLineNumber;
    /** Name is an DEMANDED attribute - may not be null**/
    protected IfcLabel Name;
    protected SET<IfcMaterialDefinitionRepresentation> HasRepresentation_Inverse;
    protected SET<IfcMaterialClassificationRelationship> ClassifiedAs_Inverse;
    /**
    * The default constructor.
    **/
    public IfcMaterial(){}

    /**
    * Constructs a new IfcMaterial object using the given parameters.
    *
    * @param Name DEMANDED parameter of type IfcLabel - may not be null.
    **/
    public IfcMaterial(IfcLabel Name)
    {
        this.Name = Name;
        resolveInverses();
    }

    /**
     * This method initializes the IfcMaterial object using the given parameters.
    *
    * @param Name DEMANDED parameter of type IfcLabel - may not be null.
    **/
    public void setParameters(IfcLabel Name)
    {
        this.Name = Name;
        resolveInverses();
    }

    /**
     * This method is used internally and should NOT be used for own purposes.
    **/
    void initialize(java.util.ArrayList<CloneableObject> parameters)
    {
        this.Name = (IfcLabel) parameters.get(0);
        resolveInverses();
    }

    /**
     * This method is used internally and should NOT be used for own purposes.
    **/
    void destruct()
    {
        listenerList = null;
        HasRepresentation_Inverse = null;
        ClassifiedAs_Inverse = null;
    }

    private void resolveInverses()
    {
    }

    /**
     * This method is used internally and should NOT be used for own purposes.
    **/
    String[] getNonInverseAttributeTypes()
    {
        return IfcMaterial.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("IFCMATERIAL(");
        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("$);");
        }
        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 returns a copy of the set of the HasRepresentation_Inverse attribute.
    *
    * @return a copy of the HasRepresentation_Inverse set
    **/
    public SET<IfcMaterialDefinitionRepresentation> getHasRepresentation_Inverse()
    {
        if(this.HasRepresentation_Inverse != null)
            return new SET<IfcMaterialDefinitionRepresentation>(this.HasRepresentation_Inverse);
        return null;
    }

    /**
    * This method returns a copy of the set of the ClassifiedAs_Inverse attribute.
    *
    * @return a copy of the ClassifiedAs_Inverse set
    **/
    public SET<IfcMaterialClassificationRelationship> getClassifiedAs_Inverse()
    {
        if(this.ClassifiedAs_Inverse != null)
            return new SET<IfcMaterialClassificationRelationship>(this.ClassifiedAs_Inverse);
        return null;
    }

    /**
    * This method sets the Name attribute to the given value.
    *
    * @param Name OPTIONAL value to set
    **/
    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 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()
    {
        IfcMaterial ifcMaterial = new IfcMaterial();
        if(this.Name != null)
            ifcMaterial.setName((IfcLabel)this.Name.clone());
        return ifcMaterial;
    }

    /**
     * This method copys the object as shallow copy (all referenced objects are remaining).
     *
     * @return the cloned object
    **/
    public Object shallowCopy()
    {
        IfcMaterial ifcMaterial = new IfcMaterial();
        if(this.Name != null)
            ifcMaterial.setName(this.Name);
        return ifcMaterial;
    }

    /**
    * This method returns the objects standard description.
    *
    * @return the standard description
    **/
    public String toString()
    {
        return "#"+ this.getStepLineNumber() + " " + this.getClass().getSimpleName();
    }


}

 

IfcMaterial

标签:products   write   rate   object   can   copyright   red   null   rman   

原文地址:https://www.cnblogs.com/herd/p/11963539.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!