zoukankan      html  css  js  c++  java
  • IfcAxis2Placement3D

    The IfcAxis2Placement3D provides location and orientations to place items in a three-dimensional space. The attribute Axis defines the Z direction, RefDirection the X direction. The Y direction is derived.

    If the attribute values for Axis and RefDirection are not given, the placement defaults to P[1] (x-axis) as [1.,0.,0.], P[2] (y-axis) as [0.,1.,0.] and P[3] (z-axis) as [0.,0.,1.].

    /* Generated By: IFC Tools Project EXPRESS TO JAVA COMPILER: Do not edit this file!! */
    package com.vfsd.ifc2x3tc1;
    
    public class IfcAxis2Placement3D extends IfcPlacement implements IfcAxis2Placement, ClassInterface
    {
        private static final String[] nonInverseAttributes = new String[]{"IfcCartesianPoint","IfcDirection","IfcDirection"};
        private java.util.ArrayList<CloneableObject> stepParameter = null;
        private java.util.HashSet<ObjectChangeListener> listenerList = null;
        protected int stepLineNumber;
        /** Axis is an OPTIONAL attribute**/
        protected IfcDirection Axis;
        /** RefDirection is an OPTIONAL attribute**/
        protected IfcDirection RefDirection;
        /**
        * The default constructor.
        **/
        public IfcAxis2Placement3D(){}
    
        /**
        * Constructs a new IfcAxis2Placement3D object using the given parameters.
        *
        * @param Location DEMANDED parameter of type IfcCartesianPoint - may not be null.
        * @param Axis OPTIONAL parameter of type IfcDirection
        * @param RefDirection OPTIONAL parameter of type IfcDirection
        **/
        public IfcAxis2Placement3D(IfcCartesianPoint Location, IfcDirection Axis, IfcDirection RefDirection)
        {
            this.Location = Location;
            this.Axis = Axis;
            this.RefDirection = RefDirection;
            resolveInverses();
        }
    
        /**
         * This method initializes the IfcAxis2Placement3D object using the given parameters.
        *
        * @param Location DEMANDED parameter of type IfcCartesianPoint - may not be null.
        * @param Axis OPTIONAL parameter of type IfcDirection
        * @param RefDirection OPTIONAL parameter of type IfcDirection
        **/
        public void setParameters(IfcCartesianPoint Location, IfcDirection Axis, IfcDirection RefDirection)
        {
            this.Location = Location;
            this.Axis = Axis;
            this.RefDirection = RefDirection;
            resolveInverses();
        }
    
        /**
         * This method is used internally and should NOT be used for own purposes.
        **/
        void initialize(java.util.ArrayList<CloneableObject> parameters)
        {
            this.Location = (IfcCartesianPoint) parameters.get(0);
            this.Axis = (IfcDirection) parameters.get(1);
            this.RefDirection = (IfcDirection) parameters.get(2);
            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 IfcAxis2Placement3D.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("IFCAXIS2PLACEMENT3D(");
            if(getRedefinedDerivedAttributeTypes().contains("Location")) stepString = stepString.concat("*,");
            else{
            if(this.Location != null)        stepString = stepString.concat(((RootInterface)this.Location).getStepParameter(IfcCartesianPoint.class.isInterface())+",");
            else        stepString = stepString.concat("$,");
            }
            if(getRedefinedDerivedAttributeTypes().contains("Axis")) stepString = stepString.concat("*,");
            else{
            if(this.Axis != null)        stepString = stepString.concat(((RootInterface)this.Axis).getStepParameter(IfcDirection.class.isInterface())+",");
            else        stepString = stepString.concat("$,");
            }
            if(getRedefinedDerivedAttributeTypes().contains("RefDirection")) stepString = stepString.concat("*);");
            else{
            if(this.RefDirection != null)        stepString = stepString.concat(((RootInterface)this.RefDirection).getStepParameter(IfcDirection.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 Axis attribute to the given value.
        *
        * @param Axis DEMANDED value to set - may not be null
        **/
        public void setAxis(IfcDirection Axis)
        {
            this.Axis = Axis;
            fireChangeEvent();
        }
    
        /**
        * This method returns the value of the Axis attribute.
        *
        * @return the value of Axis
        /**/
        public IfcDirection getAxis()
        {
            return this.Axis;
        }
    
        /**
        * This method sets the RefDirection attribute to the given value.
        *
        * @param RefDirection DEMANDED value to set - may not be null
        **/
        public void setRefDirection(IfcDirection RefDirection)
        {
            this.RefDirection = RefDirection;
            fireChangeEvent();
        }
    
        /**
        * This method returns the value of the RefDirection attribute.
        *
        * @return the value of RefDirection
        /**/
        public IfcDirection getRefDirection()
        {
            return this.RefDirection;
        }
    
        /**
         * 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()
        {
            IfcAxis2Placement3D ifcAxis2Placement3D = new IfcAxis2Placement3D();
            if(this.Location != null)
                ifcAxis2Placement3D.setLocation((IfcCartesianPoint)this.Location.clone());
            if(this.Axis != null)
                ifcAxis2Placement3D.setAxis((IfcDirection)this.Axis.clone());
            if(this.RefDirection != null)
                ifcAxis2Placement3D.setRefDirection((IfcDirection)this.RefDirection.clone());
            return ifcAxis2Placement3D;
        }
    
        /**
         * This method copys the object as shallow copy (all referenced objects are remaining).
         *
         * @return the cloned object
        **/
        public Object shallowCopy()
        {
            IfcAxis2Placement3D ifcAxis2Placement3D = new IfcAxis2Placement3D();
            if(this.Location != null)
                ifcAxis2Placement3D.setLocation(this.Location);
            if(this.Axis != null)
                ifcAxis2Placement3D.setAxis(this.Axis);
            if(this.RefDirection != null)
                ifcAxis2Placement3D.setRefDirection(this.RefDirection);
            return ifcAxis2Placement3D;
        }
    
        /**
        * This method returns the objects standard description.
        *
        * @return the standard description
        **/
        public String toString()
        {
            return "#"+ this.getStepLineNumber() + " " + this.getClass().getSimpleName();
        }
    
    
    }
  • 相关阅读:
    LeetCode#13罗马数字转整数
    LeetCode#7整数反转
    LeetCode#1两数之和
    LeetCode#26删除排序数组中的重复项
    LeecCode#1550存在连续三个奇数的数组
    LeetCode#228汇总区间
    LeetCode#1476子矩形查询
    LeetCode#1535找出数组游戏的赢家
    LeetCode#867转置矩阵
    Vue源码——摸着石头过河
  • 原文地址:https://www.cnblogs.com/herd/p/11952906.html
Copyright © 2011-2022 走看看