示例#1
0
        public static MeshSettings2D ToMeshSettings2D(this IFAttribute lusasAttribute)
        {
            /***************************************************/
            /**** Public Methods                            ****/
            /***************************************************/

            string attributeName = GetName(lusasAttribute);

            int    xDivisions = 0;
            int    yDivisions = 0;
            double size       = 0;

            Split2D splitMethod = Split2D.Automatic;


            if ((lusasAttribute.getValue("size") == 0) &&
                (lusasAttribute.getValue("xDivisions") == 0 &&
                 lusasAttribute.getValue("yDivisions") == 0))
            {
            }
            else if (lusasAttribute.getValue("size") == 0)
            {
                splitMethod = Split2D.Divisions;
                xDivisions  = lusasAttribute.getValue("xDivisions");
                yDivisions  = lusasAttribute.getValue("yDivisions");
            }
            else
            {
                splitMethod = Split2D.Size;
                size        = lusasAttribute.getValue("size");
            }

            MeshSettings2D meshSettings2D = new MeshSettings2D
            {
                Name        = attributeName,
                SplitMethod = splitMethod,
                xDivisions  = xDivisions,
                yDivisions  = yDivisions,
                ElementSize = size
            };

            int adapterNameId = GetAdapterID(lusasAttribute, 'e');

            meshSettings2D.SetAdapterId(typeof(LusasId), adapterNameId);

            return(meshSettings2D);
        }
示例#2
0
        private IFMeshSurface CreateMeshSettings2D(MeshSettings2D meshSettings2D)
        {
            /***************************************************/
            /**** Private Methods                           ****/
            /***************************************************/

            if (!Engine.Adapters.Lusas.Query.CheckIllegalCharacters(meshSettings2D.Name))
            {
                return(null);
            }

            IFMeshSurface lusasSurfaceMesh = null;

            if (d_LusasData.existsAttribute("Mesh", meshSettings2D.Name))
            {
                lusasSurfaceMesh = (IFMeshSurface)d_LusasData.getAttribute("Mesh", meshSettings2D.Name);
            }
            else
            {
                lusasSurfaceMesh = d_LusasData.createMeshSurface(meshSettings2D.Name);
                if (meshSettings2D.SplitMethod == Split2D.Automatic)
                {
                    lusasSurfaceMesh.addElementName("QTS4");
                }
                else if (meshSettings2D.SplitMethod == Split2D.Divisions)
                {
                    lusasSurfaceMesh.setRegular("QTS4", meshSettings2D.xDivisions, meshSettings2D.yDivisions);
                }
                else if (meshSettings2D.SplitMethod == Split2D.Size)
                {
                    lusasSurfaceMesh.setRegularSize("QTS4", meshSettings2D.ElementSize);
                }
            }

            if (lusasSurfaceMesh != null)
            {
                int adapterIdName = lusasSurfaceMesh.getID();
                meshSettings2D.SetAdapterId(typeof(LusasId), adapterIdName);

                return(lusasSurfaceMesh);
            }

            return(null);
        }