using System;
using System.ComponentModel;
using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Analysis;
using Autodesk.Revit.DB.Mechanical;
namespace Revit.SDK.Samples.ProjectInfo.CS
{
///
/// Wrapper class for gbXMLParamElem
///
public class EnergyDataSettingsWrapper : IWrapper
{
#region Fields
///
/// gbXMLParamElem
///
private EnergyDataSettings m_energyDataSettings;
///
/// Revit Document
///
private Document m_document;
#endregion
#region Constructors
///
/// Initializes private variables.
///
/// gbXMLParamElem
public EnergyDataSettingsWrapper(Document document)
{
m_document = document;
m_energyDataSettings = EnergyDataSettings.GetFromDocument(document);
}
#endregion
#region Properties
///
/// Gets or sets Building Type
///
[Category("Common"), DisplayName("Building Type")]
[TypeConverter(typeof(BuildingTypeConverter))]
public gbXMLBuildingType BuildingType
{
get
{
return m_energyDataSettings.BuildingType;
}
set
{
m_energyDataSettings.BuildingType = value;
}
}
///
/// Gets or sets Ground Plane
///
[Category("Common"), DisplayName("Ground Plane")]
[TypeConverter(typeof(ElementIdConverter))]
public ElementId GroundPlane
{
get
{
return m_energyDataSettings.GroundPlane;
}
set
{
m_energyDataSettings.GroundPlane = value;
}
}
///
/// Gets or sets Building Service
///
[Category("Detailed Model"), DisplayName("Building Service")]
[TypeConverter(typeof(ServiceTypeConverter))]
[RevitVersion(ProductType.MEP)]
public gbXMLServiceType BuildingService
{
get
{
return m_energyDataSettings.ServiceType;
}
set
{
m_energyDataSettings.ServiceType = value;
}
}
///
/// Gets Building Construction
///
[Category("Detailed Model"), DisplayName("Building Construction"), TypeConverter(typeof(WrapperConverter)), RevitVersion(ProductType.MEP)]
public MEPBuildingConstructionWrapper BuildingConstruction
{
get
{
ElementId eid = EnergyDataSettings.GetBuildingConstructionSetElementId(m_document);
MEPBuildingConstruction mEPBuildingConstruction = RevitStartInfo.GetElement(eid) as MEPBuildingConstruction;
//MEPBuildingConstruction mEPBuildingConstruction = RevitStartInfo.GetElement(m_energyDataSettings.ConstructionSetElementId) as MEPBuildingConstruction;
if(mEPBuildingConstruction != null)
return new MEPBuildingConstructionWrapper(mEPBuildingConstruction);
return null;
}
}
///
/// Gets and Sets BuildingConstructionClass
///
[Category("Detailed Model"), DisplayName("Building Infiltration Class")]
[TypeConverter(typeof(HVACLoadConstructionClassConverter))]
[RevitVersion(ProductType.MEP)]
public HVACLoadConstructionClass BuildingConstructionClass
{
get
{
return m_energyDataSettings.BuildingConstructionClass;
}
set
{
m_energyDataSettings.BuildingConstructionClass = value;
}
}
///
/// Gets or sets Project Phase
///
[Category("Detailed Model"), DisplayName("Project Phase")]
[TypeConverter(typeof(ElementIdConverter))]
public ElementId ProjectPhase
{
get
{
return m_energyDataSettings.ProjectPhase;
}
set
{
m_energyDataSettings.ProjectPhase = value;
}
}
///
/// Gets or sets Sliver Space Tolerance
///
[Category("Detailed Model"), DisplayName("Sliver Space Tolerance")]
public Double SliverSpaceTolerance
{
get
{
return m_energyDataSettings.SliverSpaceTolerance;
}
set
{
m_energyDataSettings.SliverSpaceTolerance = value;
}
}
///
/// Gets or sets Export Complexity
///
[Category("Detailed Model"), DisplayName("Export Complexity")]
[TypeConverter(typeof(ExportComplexityConverter))]
public gbXMLExportComplexity ExportComplexity
{
get
{
return m_energyDataSettings.ExportComplexity;
}
set
{
m_energyDataSettings.ExportComplexity = value;
}
}
///
/// Gets or sets Export Default Values
///
[Category("Detailed Model"), DisplayName("Export Default Values")]
[RevitVersion(ProductType.MEP)]
public bool ExportDefaultValues
{
get
{
return m_energyDataSettings.ExportDefaults;
}
set
{
m_energyDataSettings.ExportDefaults = value;
}
}
///
/// Gets and Sets ProjectReportType
///
[Category("Detailed Model"), DisplayName("Report Type")]
[TypeConverter(typeof(HVACLoadLoadsReportTypeConverter))]
[RevitVersion(ProductType.MEP)]
public HVACLoadLoadsReportType ProjectReportType
{
get
{
return m_energyDataSettings.ProjectReportType;
}
set
{
m_energyDataSettings.ProjectReportType = value;
}
}
///
/// Gets Project Location
///
[DisplayName("Project Location"), TypeConverter(typeof(ProjectLocationConverter)), RevitVersion(ProductType.MEP, ProductType.Architecture)]
public ProjectLocation ProjectLocation
{
get
{
return m_document.ActiveProjectLocation;
}
set
{
m_document.ActiveProjectLocation = value;
}
}
///
/// Gets Site Location
///
[DisplayName("Site Location"), TypeConverter(typeof(WrapperConverter)), RevitVersion(ProductType.MEP, ProductType.Architecture)]
public SiteLocationWrapper SiteLocation
{
get
{
return new SiteLocationWrapper(m_document.SiteLocation);
}
}
#region IWrapper Members
///
/// Gets the handle object.
///
[Browsable(false)]
public object Handle
{
get
{
return m_energyDataSettings;
}
}
///
/// Gets the name of the handle.
///
[Browsable(false)]
public string Name
{
get
{
return "";
}
set
{
}
}
#endregion
#endregion
}
}