Example #1
0
        /// <summary>
        /// Elements the export.
        /// </summary>
        private bool ElementExport(Element elem)
        {
            if (!m_ExportHandle.OnElementStart(elem))
            {
                return(false);
            }

            var transform = default(Transform);

            if (elem is Instance)
            {
                transform = (elem as Instance).GetTransform();
            }


            var objects = this.GetGeometryObject(elem);

            if (objects.Count == 0)
            {
                return(false);
            }

            while (objects.Count > 0)
            {
                var obj = objects.Pop();

                var node = new GeometryObjectNode(obj);
                if (!m_ExportHandle.OnGeometryObjectStart(node))
                {
                    return(false);
                }

                if (obj.GetType().Equals(typeof(Solid)))
                {
                    var solid = obj as Solid;

                    var faces = solid.Faces;

                    var eum = faces.GetEnumerator();
                    while (eum.MoveNext())
                    {
                        var face = (Face)eum.Current;

                        // not handle....
                        m_ExportHandle.OnMaterial(face.MaterialElementId);

                        var polygonMeshNode = this.FaceConvert(face, transform);

                        m_ExportHandle.OnPolygonMesh(polygonMeshNode);
                    }
                }
                m_ExportHandle.OnGeometryObjectEnd(node);
            }

            m_ExportHandle.OnElementEnd(elem);
            return(true);
        }
Example #2
0
 void IExportElement.OnGeometryObjectEnd(GeometryObjectNode solid)
 {
 }
Example #3
0
 bool IExportElement.OnGeometryObjectStart(GeometryObjectNode solid)
 {
     return(true);
 }