// Copyright 2012-2024 Trimble Inc. All Rights Reserved. /** * @file * @brief Types related to the SketchUp model. */ #ifndef SKETCHUP_MODEL_DEFS_H_ #define SKETCHUP_MODEL_DEFS_H_ #include #pragma pack(push, 8) DEFINE_SU_TYPE(SUArcCurveRef) DEFINE_SU_TYPE(SUAttributeDictionaryRef) DEFINE_SU_TYPE(SUAxesRef) DEFINE_SU_TYPE(SUCameraRef) DEFINE_SU_TYPE(SUClassificationsRef) DEFINE_SU_TYPE(SUClassificationAttributeRef) DEFINE_SU_TYPE(SUClassificationInfoRef) DEFINE_SU_TYPE(SUComponentDefinitionRef) DEFINE_SU_TYPE(SUComponentInstanceRef) DEFINE_SU_TYPE(SUCurveRef) DEFINE_SU_TYPE(SUDimensionRef) DEFINE_SU_TYPE(SUDimensionLinearRef) DEFINE_SU_TYPE(SUDimensionRadialRef) DEFINE_SU_TYPE(SUDimensionStyleRef) DEFINE_SU_TYPE(SUDrawingElementRef) DEFINE_SU_TYPE(SUDynamicComponentInfoRef) DEFINE_SU_TYPE(SUDynamicComponentAttributeRef) DEFINE_SU_TYPE(SUEdgeRef) DEFINE_SU_TYPE(SUEdgeUseRef) DEFINE_SU_TYPE(SUEntitiesRef) DEFINE_SU_TYPE(SUEntityListRef) DEFINE_SU_TYPE(SUEntityListIteratorRef) DEFINE_SU_TYPE(SUEntityRef) DEFINE_SU_TYPE(SUEnvironmentRef) DEFINE_SU_TYPE(SUEnvironmentsRef) DEFINE_SU_TYPE(SUFaceRef) DEFINE_SU_TYPE(SUFontRef) DEFINE_SU_TYPE(SUGeometryInputRef) DEFINE_SU_TYPE(SUGroupRef) DEFINE_SU_TYPE(SUGuideLineRef) DEFINE_SU_TYPE(SUGuidePointRef) DEFINE_SU_TYPE(SUImageRef) DEFINE_SU_TYPE(SUImageRepRef) DEFINE_SU_TYPE(SUInstancePathRef) DEFINE_SU_TYPE(SULayerRef) DEFINE_SU_TYPE(SULayerFolderRef) DEFINE_SU_TYPE(SULineStyleRef) DEFINE_SU_TYPE(SULineStylesRef) DEFINE_SU_TYPE(SULocationRef) DEFINE_SU_TYPE(SULoopInputRef) DEFINE_SU_TYPE(SULoopRef) DEFINE_SU_TYPE(SUMaterialRef) DEFINE_SU_TYPE(SUMeshHelperRef) DEFINE_SU_TYPE(SUModelRef) DEFINE_SU_TYPE(SUOpeningRef) DEFINE_SU_TYPE(SUOptionsManagerRef) DEFINE_SU_TYPE(SUOptionsProviderRef) DEFINE_SU_TYPE(SUOverlayRef) DEFINE_SU_TYPE(SUPolyline3dRef) DEFINE_SU_TYPE(SURenderingOptionsRef) DEFINE_SU_TYPE(SUSceneRef) DEFINE_SU_TYPE(SUSchemaRef) DEFINE_SU_TYPE(SUSchemaTypeRef) DEFINE_SU_TYPE(SUSectionPlaneRef) DEFINE_SU_TYPE(SUSelectionRef) DEFINE_SU_TYPE(SUShadowInfoRef) DEFINE_SU_TYPE(SUSnapRef) DEFINE_SU_TYPE(SUStyleRef) DEFINE_SU_TYPE(SUStylesRef) DEFINE_SU_TYPE(SUTextRef) DEFINE_SU_TYPE(SUTextureRef) DEFINE_SU_TYPE(SUTextureWriterRef) DEFINE_SU_TYPE(SUTypedValueRef) DEFINE_SU_TYPE(SUUVHelperRef) DEFINE_SU_TYPE(SUVertexRef) /** @enum SURefType @brief Types of concrete object references. */ enum SURefType { SURefType_Unknown = 0, ///< Unknown object type. SURefType_AttributeDictionary, ///< SUAttributeDictionaryRef type SURefType_Camera, ///< SUCameraRef type SURefType_ComponentDefinition, ///< SUComponentDefinitionRef type SURefType_ComponentInstance, ///< SUComponentInstanceRef type SURefType_Curve, ///< SUCurveRef type SURefType_Edge, ///< SUEdgeRef type SURefType_EdgeUse, ///< SUEdgeUseRef type SURefType_Environment, ///< SUEnvironment type SURefType_Environments, ///< SUEnvironments type SURefType_Entities, ///< SUEntitiesRef type SURefType_Face, ///< SUFaceRef type SURefType_Group, ///< SUGroupRef type SURefType_Image, ///< SUImageRef type SURefType_Layer, ///< SULayerRef type SURefType_Location, ///< SULocationRef type SURefType_Loop, ///< SULoopRef type SURefType_MeshHelper, ///< SUMeshHelperRef type SURefType_Material, ///< SUMaterialRef type SURefType_Model, ///< SUModelRef type SURefType_Polyline3D, ///< SUPolyline3DRef type SURefType_Scene, ///< SUSceneRef type SURefType_Texture, ///< SUTextureRef type SURefType_TextureWriter, ///< SUTextureWriterRef type SURefType_TypedValue, ///< SUTypedValueRef type SURefType_UVHelper, ///< SUUVHelperRef type SURefType_Vertex, ///< SUVertexRef type SURefType_RenderingOptions, ///< SURenderingOptionsRef type SURefType_GuidePoint, ///< SUGuidePointRef type SURefType_GuideLine, ///< SUGuideLineRef type SURefType_Schema, ///< SUSchemaRef type SURefType_SchemaType, ///< SUSchemaTypeRef type SURefType_ShadowInfo, ///< SUShadowInfoRef type SURefType_Axes, ///< SUAxesRef type SURefType_ArcCurve, ///< SUArcCurveRef type SURefType_SectionPlane, ///< SUSectionPlaneRef type SURefType_DynamicComponentInfo, ///< SUDynamicComponentInfoRef type SURefType_DynamicComponentAttribute, ///< SUDynamicComponentAttributeRef type SURefType_Style, ///< SUStyleRef type SURefType_Styles, ///< SUStylesRef type SURefType_ImageRep, ///< SUImageRepRef type SURefType_InstancePath, ///< SUInstancePathRef type SURefType_Font, ///< SUFontRef type SURefType_Dimension, ///< SUDimensionRef type SURefType_DimensionLinear, ///< SUDimensionLinearRef type SURefType_DimensionRadial, ///< SUDimensionRadialRef type SURefType_DimensionStyle, ///< SUDimensionStyleRef type SURefType_Text, ///< SUTextRef type SURefType_EntityList, ///< SUEntityListRef type SURefType_EntityListIterator, ///< SUEntityListIteratorRef type SURefType_DrawingElement, ///< SUDrawingElementRef type SURefType_Entity, ///< SUEntityRef type SURefType_LengthFormatter, ///< SULengthFormatterRef type SURefType_LineStyle, ///< SULineStyleRef type SURefType_LineStyleManager, ///< SULineStyleManagerRef type SURefType_Selection, ///< SUSelectionRef type SURefType_LayerFolder, ///< SULayerFolderRef type SURefType_Snap, ///< SUSnapRef type }; #pragma pack(pop) #endif // SKETCHUP_MODEL_DEFS_H_