using Autodesk.Revit.DB;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DotNet.Exchange.Revit.Export
{
///
/// IExportElement
///
public interface IExportElement
{
///
/// 元素开始进行导出时执行.
/// 如果返回结果为true,则开始进行此元素导出,否则放弃此元素导出.
///
bool OnElementStart(Element elem);
///
/// 当元素内的GeometryObject进行导出时执行.
/// 如果返回结果为true,则开始进行此GeometryObject导出,否则放弃此元素导出.
///
bool OnGeometryObjectStart(GeometryObjectNode geometryObject);
///
/// 开始检索多边形的材质.
///
void OnMaterial(ElementId materialId);
///
/// 开始检索Solid内的多边形拓扑节点.
///
void OnPolygonMesh(PolygonMeshNode polygonMesh);
///
/// 当元素内的GeometryObject导出结束时执行.
///
void OnGeometryObjectEnd(GeometryObjectNode geometryObject);
///
/// 当元素导出结束时开始执行.
///
void OnElementEnd(Element elem);
}
}