SketchUp C API
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures
Here are the data structures with brief descriptions:
oCSketchUpDeprecatedModelExporterInterfaceOld style exporters must implement this interface. Note that this interface is being deprecated. New exporters must implement SketchUpModelExporterInterface
oCSketchUpModelExporterInterfaceA valid SketchUp "exporter" plugin must support the following interface. See the SDK samples for an example
oCSketchUpModelImporterInterfaceA valid SketchUp "importer" plugin must support the following interface. See the SDK samples for an example
oCSketchUpPluginProgressCallbackInterface to provide import/export progress feedback and cancellation
oCSUArcCurveRefReferences an arccurve
oCSUAttributeDictionaryRefA dictionary type with SUStringRef objects as keys and SUTypedValueRef objects as values
oCSUAxesRefAn axes entity reference
oCSUAxisAlignedRect2DRepresents a 2D rectangle that is aligned with the X and Y axis of the coordinate system
oCSUBoundingBox3DRepresents a 3D axis-aligned bounding box represented by the extreme diagonal corner points with minimum and maximum x,y,z coordinates
oCSUCameraRefReferences the camera object of a SketchUp model
oCSUClassificationAttributeRefReferences attribute data about a classified component
oCSUClassificationInfoRefReferences an object with classification information. Each SUClassificationInfoRef contains the names of the schemas and the schema types, and the types attributes. See SUClassificationAttributeRef for details on the type attributes
oCSUClassificationsRefUsed to manage a Classifications object
oCSUColorStores a RGBA color with 8 bit channels
oCSUColorOrderA simple struct with four indices indicating the ordering of color data within 32-bit bitmap images. 32-bit bitmap images have 4 channels per pixel: red, green, blue, and alpha where the alpha channel indicates the transparency of the pixel. SketchUpAPI expects the channels to be in different orders on Windows vs. Mac OS. Bitmap data is exposed in BGRA and RGBA byte orders on Windows and Mac OS, respectively. The color order indices facilitate platform independent code when it is necessary to manipulate image pixel data. The struct's data also applies to 24-bit bitmap images except that such images don't have an alpha channel so the alpha_index varaible can be ignored
oCSUComponentBehaviorDescribes how the component behaves in the SketchUp rendering scene
oCSUComponentDefinitionRefReferences a component definition
oCSUComponentInstanceRefReferences a component instance, i.e. an instance of a component definition
oCSUCurveRefReferences a curve
oCSUDimensionLinearRefA linear dimension entity reference
oCSUDimensionRadialRefA radial dimension entity reference
oCSUDimensionRefA dimension entity reference
oCSUDimensionStyleRefA dimension style reference
oCSUDrawingElementRefReferences a drawing element, which is an abstract base type for some API types
oCSUDynamicComponentAttributeRefReferences attribute data about a dynamic component
oCSUDynamicComponentInfoRefReferences an object with information about a dynamic component
oCSUEdgeRefReferences an edge
oCSUEdgeUseRefSUEdgeUseRef objects are used to retrieve the topology of the edges of a polygon. The geometry of the polygon being represented by SULoopRef that is already associated with a face object. The typical use of EdgeUse object is to retrieve them from a face object's loop, and then read the topology values from them
oCSUEntitiesRefReferences a container object for all entities in a model, component definition or a group
oCSUEntityListIteratorRefReferences an entity list iterator object
oCSUEntityListRefReferences an entity list
oCSUEntityRefReferences an entity, which is an abstract base type for most API types
oCSUExtensionLicenseStores extension license information
oCSUFaceRefReferences a face
oCSUFontRefA font entity reference
oCSUGeometryInputRefReferences a geometry input object. It is used as an input to /ref SUEntitiesFill
oCSUGroupRefReferences a group object
oCSUGuideLineRefA guide line that has a start and end position
oCSUGuidePointRefA guide point that has a position
oCSUImageRefReferences an image object
oCSUImageRepRefReferences an image representation object
oCSUInstancePathRefAn instance path type that provides a wrapping of a data structure of component instances
oCSULayerRefReferences a layer object
oCSULengthFormatterRefReferences a length formatter object. Length formatters are used to generate formatted strings (optionally with units) from length, area, and volume values. Additionally length formatters can be used to translate a formatted length/area/volume string into a value. Accessors and setters are exposed for some of the key formatting properties, facilitating customization of the formater. In cases when users want the formatter to reflect the properties of a model, SUModelGetLengthFormatter should be used to more efficiently extract/copy the relevant properties from the model to the formatter
oCSULineStylesRefProvides access to the different line style objects in the model
oCSULocationRefReferences a type that contains location information of a model (e.g. latitude, longitude)
oCSULoopRefReferences a loop object, which can be either the outer loop or an inner loop (hole) of a face
oCSUMaterialInputSUMaterialInput contains information that is needed to apply a material to a face. The conventional method for applying a material to a face is to use 1 to 4 UV coordinates, which are Cartesian textures coordinates and corresponding vertex indices on the face. The vertices are referenced by index into the top level SUGeometryInputRef's vertex array. The member variable 'material' must be a valid material object, and once the material input is used (e.g. with /ref SUEntitiesFill), the material object must not be released since it will be associated with a parent object
oCSUMaterialRefReferences a material object
oCSUMeshHelperRefA helper class that will tessellate a SUFaceRef object into triangles, and then provide the vertices, normals, and STQ coordinates of those triangles
oCSUModelRefA SketchUp model
oCSUModelStatisticsContains an array of entity counts that can be indexed per entity type
oCSUOpeningRefReferences an opening object, which is a hole in a face created by an attached component instance or group
oCSUOptionsManagerRefProvides access to the different options provider objects in the model. Available options providers are: PageOptions, SlideshowOptions, UnitsOptions, NamedOptions, and PrintOptions
oCSUOptionsProviderRefProvides ability to get and set options on an options provider object. Available options providers are: PageOptions, SlideshowOptions, UnitsOptions, NamedOptions, and PrintOptions
oCSUPlane3DRepresents a 3D plane by the parameters a, b, c, d. For any point on the plane, ax + by + cz + d = 0. The coeficients are normalized so that a*a + b*b + c*c = 1
oCSUPoint2DRepresents a point in 2-dimensional space
oCSUPoint3DRepresents a point in 3-dimensional space
oCSUPolyline3dRefA polyline3d object. These are curve-like entities that do not generate inference snaps or affect geometry in any way
oCSURay3DRepresents a 3D ray defined by a point and normal vector
oCSURenderingOptionsRefUsed to get and set values in a rendering options object
oCSUSceneRefUsed to get and set a scene's camera views, using the SUCameraRef object
oCSUSchemaRefUsed to manage a Schema object
oCSUSchemaTypeRefUsed to manage a SchemaType object
oCSUSectionPlaneRefA sectionPlane entity reference
oCSUShadowInfoRefUsed to get and set values in a shadow info object
oCSUStringRefStores a Unicode string for use as output string parameters in the API
oCSUStyleRefA style entity reference
oCSUStylesRefA styles entity reference
oCSUTextRefA text entity reference
oCSUTextureRefUsed to manage image data that can be associated with any SUEntityRef
oCSUTextureWriterRefUsed to write out textures of various SketchUp model elements to local disk. For face objects texture writer modifies non-affine textures on write so that the resulting texture image can be mapped with 2-dimensional texture coordinates. The modified UV coordinates are retrieved from a mesh object created with SUMeshHelperCreateWithTextureWriter
oCSUTransformationRepresents a 3D (4x4) geometric transformation matrix
oCSUTransformation2DRepresents a 2D (2x3) affine transformation matrix. The matrix is stored in column-major format:
oCSUTypedValueRefVariant object used to represent the value of a key-value attribute pair
oCSUUVHelperRefUsed to compute UV texture coordinates for a particular face
oCSUUVQStores UV texture coordinates
oCSUVector2DRepresents a vector in 2-dimensional space
oCSUVector3DRepresents a vector in 3-dimensional space
\CSUVertexRefA vertex type that has a position and is associated with other geometry like edges, faces, and loops