SketchUp SDK
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Enumerations | Functions
model.h File Reference
#include <slapi/slapi.h>
#include <slapi/unicodestring.h>
#include <slapi/model/defs.h>

Go to the source code of this file.

Data Structures

struct  SUModelStatistics
 Contains an array of entity counts that can be indexed per entity type. More...
 

Enumerations

enum  SUModelUnits {
  SUModelUnits_Inches, SUModelUnits_Feet, SUModelUnits_Millimeters, SUModelUnits_Centimeters,
  SUModelUnits_Meters
}
 Units options settings. More...
 

Functions

SU_RESULT SUModelCreate (SUModelRef *model)
 Creates an empty model object for the purposes of writing a SketchUp document. This model object must be released with SUModelRelease. More...
 
SU_RESULT SUModelCreateFromFile (SUModelRef *model, const char *file_path)
 Creates a model from a SketchUp file on local disk. More...
 
SU_RESULT SUModelRelease (SUModelRef *model)
 Releases a model object and its associated resources. The root component of the model object and all its child objects must not be released explicitly. More...
 
SU_RESULT SUModelGetEntities (SUModelRef model, SUEntitiesRef *entities)
 Retrieves model entities. More...
 
SU_RESULT SUModelGetNumMaterials (SUModelRef model, size_t *count)
 Retrieves the number of materials in a model object. More...
 
SU_RESULT SUModelGetMaterials (SUModelRef model, size_t len, SUMaterialRef materials[], size_t *count)
 Retrieves all the materials associated with a model object. More...
 
SU_RESULT SUModelAddMaterials (SUModelRef model, size_t len, const SUMaterialRef materials[])
 Adds materials to a model object. More...
 
SU_RESULT SUModelGetNumComponentDefinitions (SUModelRef model, size_t *count)
 Retrieves the number of components associated with a model. More...
 
SU_RESULT SUModelGetComponentDefinitions (SUModelRef model, size_t len, SUComponentDefinitionRef components[], size_t *count)
 Retrieves the components that are associated with a model. More...
 
SU_RESULT SUModelAddComponentDefinitions (SUModelRef model, size_t len, const SUComponentDefinitionRef components[])
 Adds component definitions to a model object. More...
 
SU_RESULT SUModelSaveToFile (SUModelRef model, const char *file_path)
 Serializes the model object and its entities to local disk. More...
 
SU_RESULT SUModelGetCamera (SUModelRef model, SUCameraRef *camera)
 Retrieves the camera of a model object. More...
 
SU_RESULT SUModelGetNumScenes (SUModelRef model, size_t *num_scenes)
 Retrieves the number of scene cameras of a model object. More...
 
SU_RESULT SUModelGetNumLayers (SUModelRef model, size_t *count)
 Retrieves the number of layers in a model object. More...
 
SU_RESULT SUModelGetLayers (SUModelRef model, size_t len, SULayerRef layers[], size_t *count)
 Retrieves the layers in a model object. More...
 
SU_RESULT SUModelAddLayers (SUModelRef model, size_t len, const SULayerRef layers[])
 Adds layer objects to a model object. More...
 
SU_RESULT SUModelGetDefaultLayer (SUModelRef model, SULayerRef *layer)
 Retrieves the default layer object of a model object. More...
 
SU_RESULT SUModelGetVersion (SUModelRef model, int *major, int *minor, int *build)
 Retrieves the version of a model object. The version consists of three numbers: major version number, minor version number, and the build number. More...
 
SU_RESULT SUModelGetNumAttributeDictionaries (SUModelRef model, size_t *count)
 Retrieves the number of attribute dictionaries of a model object. More...
 
SU_RESULT SUModelGetAttributeDictionaries (SUModelRef model, size_t len, SUAttributeDictionaryRef dictionaries[], size_t *count)
 Retrieves the attribute dictionaries of a model object. More...
 
SU_RESULT SUModelGetAttributeDictionary (SUModelRef model, const char *name, SUAttributeDictionaryRef *dictionary)
 Retrieves the attribute dictionary of a model object that has the given name. If a dictionary with the given name does not exist, one is added to the model object. More...
 
SU_RESULT SUModelGetLocation (SUModelRef model, SULocationRef *location)
 Retrieves the location information of a given model. More...
 
SU_RESULT SUModelGetStatistics (SUModelRef model, struct SUModelStatistics *statistics)
 Calculates the sum of all entities by type in the model. More...
 
SU_RESULT SUModelSetGeoReference (SUModelRef model, double latitude, double longitude, double altitude, bool is_z_value_centered, bool is_on_ocean_floor)
 Georeferences the model. More...
 
SU_RESULT SUModelGetRenderingOptions (SUModelRef model, SURenderingOptionsRef *rendering_options)
 Retrieves the rendering options of a model object. More...
 
SU_RESULT SUModelGetOptionsManager (SUModelRef model, SUOptionsManagerRef *options_manager)
 Retrieves options manager associated with the model. More...
 
SU_RESULT SUModelGetNorthCorrection (SUModelRef model, double *north_correction)
 Retrieves the angle which will rotate the north direction to the y-axis for a given model. More...
 
SU_RESULT SUModelMergeCoplanarFaces (SUModelRef model)
 Merges all adjacent, coplanar faces in the model. More...
 
SU_RESULT SUModelGetScenes (SUModelRef model, size_t len, SUSceneRef scenes[], size_t *count)
 Retrieves all the scenes associated with a model object. More...
 
SU_RESULT SUModelAddScenes (SUModelRef model, size_t len, const SUSceneRef scenes[])
 Adds scenes to a model object. More...
 
SU_RESULT SUModelGetName (SUModelRef model, SUStringRef *name)
 Retrieves the name of a model object. More...
 
SU_RESULT SUModelSetName (SUModelRef model, const char *name)
 Sets the name of a model object. More...
 
SU_RESULT SUModelGetUnits (SUModelRef model, enum SUModelUnits *units)
 Returns the units associated with the given model. More...
 

Enumeration Type Documentation

Units options settings.

Enumerator
SUModelUnits_Inches 
SUModelUnits_Feet 
SUModelUnits_Millimeters 
SUModelUnits_Centimeters 
SUModelUnits_Meters 

Function Documentation

SU_RESULT SUModelAddComponentDefinitions ( SUModelRef  model,
size_t  len,
const SUComponentDefinitionRef  components[] 
)

Adds component definitions to a model object.

Parameters
[in]modelThe model object.
[in]lenThe number of component definitions to add.
[in]componentsThe array of component definitions to add.
Returns
SU_RESULT SUModelAddLayers ( SUModelRef  model,
size_t  len,
const SULayerRef  layers[] 
)

Adds layer objects to a model object.

Parameters
[in]modelThe model object.
[in]lenThe number of layers to add.
[in]layersThe layers to add.
Returns
SU_RESULT SUModelAddMaterials ( SUModelRef  model,
size_t  len,
const SUMaterialRef  materials[] 
)

Adds materials to a model object.

Parameters
[in]modelThe model object.
[in]lenThe number of material objects to add.
[in]materialsThe array of material objects to add.
Returns
SU_RESULT SUModelAddScenes ( SUModelRef  model,
size_t  len,
const SUSceneRef  scenes[] 
)

Adds scenes to a model object.

Parameters
[in]modelThe model object.
[in]lenThe number of scene objects to add.
[in]scenesThe array of scene objects to add.
Returns
SU_RESULT SUModelCreate ( SUModelRef model)

Creates an empty model object for the purposes of writing a SketchUp document. This model object must be released with SUModelRelease.

Parameters
[out]modelThe model object created.
Returns
SU_RESULT SUModelCreateFromFile ( SUModelRef model,
const char *  file_path 
)

Creates a model from a SketchUp file on local disk.

Parameters
[out]modelThe model object created.
[in]file_pathThe source file path of the SketchUp file. Assumed to be UTF-8 encoded.
Returns
SU_RESULT SUModelGetAttributeDictionaries ( SUModelRef  model,
size_t  len,
SUAttributeDictionaryRef  dictionaries[],
size_t *  count 
)

Retrieves the attribute dictionaries of a model object.

Parameters
[in]modelThe model object.
[in]lenThe number of attribute dictionaries to retrieve.
[out]dictionariesThe dictionaries retrieved.
[out]countThe number of attribute dictionaries retrieved.
Returns
SU_RESULT SUModelGetAttributeDictionary ( SUModelRef  model,
const char *  name,
SUAttributeDictionaryRef dictionary 
)

Retrieves the attribute dictionary of a model object that has the given name. If a dictionary with the given name does not exist, one is added to the model object.

Parameters
[in]modelThe model object.
[in]nameThe name of the attribute dictionary to retrieve. Assumed to be UTF-8 encoded.
[out]dictionaryThe dictionary object retrieved.
Returns
SU_RESULT SUModelGetCamera ( SUModelRef  model,
SUCameraRef camera 
)

Retrieves the camera of a model object.

Parameters
[in]modelThe model object.
[out]cameraThe camera object retrieved.
Returns
SU_RESULT SUModelGetComponentDefinitions ( SUModelRef  model,
size_t  len,
SUComponentDefinitionRef  components[],
size_t *  count 
)

Retrieves the components that are associated with a model.

Parameters
[in]modelThe model object.
[in]lenThe number of components to retrieve.
[out]componentsThe components retrieved.
[out]countThe number of components retrieved.
Returns
SU_RESULT SUModelGetDefaultLayer ( SUModelRef  model,
SULayerRef layer 
)

Retrieves the default layer object of a model object.

Parameters
[in]modelThe model object.
[out]layerThe layer object retrieved.
Returns
SU_RESULT SUModelGetEntities ( SUModelRef  model,
SUEntitiesRef entities 
)

Retrieves model entities.

Parameters
[in]modelThe model object.
[out]entitiesThe entities retrieved.
Returns
SU_RESULT SUModelGetLayers ( SUModelRef  model,
size_t  len,
SULayerRef  layers[],
size_t *  count 
)

Retrieves the layers in a model object.

Parameters
[in]modelThe model object.
[in]lenThe number of layers to retrieve.
[out]layersThe layers retrieved.
[out]countThe number of layers retrieved.
Returns
SU_RESULT SUModelGetLocation ( SUModelRef  model,
SULocationRef location 
)

Retrieves the location information of a given model.

Parameters
[in]modelThe model object.
[out]locationThe location retrieved.
Returns
SU_RESULT SUModelGetMaterials ( SUModelRef  model,
size_t  len,
SUMaterialRef  materials[],
size_t *  count 
)

Retrieves all the materials associated with a model object.

Parameters
[in]modelThe model object.
[in]lenThe number of material objects to retrieve.
[out]materialsThe material objects retrieved.
[out]countThe number of material objects retrieved.
Returns
SU_RESULT SUModelGetName ( SUModelRef  model,
SUStringRef name 
)

Retrieves the name of a model object.

Parameters
[in]modelThe model object.
[out]nameThe destination of the retrieved name object.
Returns
SU_RESULT SUModelGetNorthCorrection ( SUModelRef  model,
double *  north_correction 
)

Retrieves the angle which will rotate the north direction to the y-axis for a given model.

Parameters
[in]modelThe model object.
[out]north_correctionThe north correction angle retrieved (in degrees).
Returns
SU_RESULT SUModelGetNumAttributeDictionaries ( SUModelRef  model,
size_t *  count 
)

Retrieves the number of attribute dictionaries of a model object.

Parameters
[in]modelThe model object.
[out]countThe number of attribute dictionaries available.
Returns
SU_RESULT SUModelGetNumComponentDefinitions ( SUModelRef  model,
size_t *  count 
)

Retrieves the number of components associated with a model.

Parameters
[in]modelThe model object.
[out]countThe number of components available.
Returns
SU_RESULT SUModelGetNumLayers ( SUModelRef  model,
size_t *  count 
)

Retrieves the number of layers in a model object.

Parameters
[in]modelThe model object.
[out]countThe number of layers available.
Returns
SU_RESULT SUModelGetNumMaterials ( SUModelRef  model,
size_t *  count 
)

Retrieves the number of materials in a model object.

Parameters
[in]modelThe model object.
[in]countThe number of material objects available.
Returns
SU_RESULT SUModelGetNumScenes ( SUModelRef  model,
size_t *  num_scenes 
)

Retrieves the number of scene cameras of a model object.

Parameters
[in]modelThe model object.
[out]num_scenesThe number of scenes available.
Returns
SU_RESULT SUModelGetOptionsManager ( SUModelRef  model,
SUOptionsManagerRef options_manager 
)

Retrieves options manager associated with the model.

Parameters
[in]modelThe model object.
[out]options_managerThe options manager object retrieved.
Returns
SU_RESULT SUModelGetRenderingOptions ( SUModelRef  model,
SURenderingOptionsRef rendering_options 
)

Retrieves the rendering options of a model object.

Parameters
[in]modelThe model object.
[out]rendering_optionsThe rendering options object retrieved. This object is owned by the model and must not be explicitly released.
Returns
SU_RESULT SUModelGetScenes ( SUModelRef  model,
size_t  len,
SUSceneRef  scenes[],
size_t *  count 
)

Retrieves all the scenes associated with a model object.

Parameters
[in]modelThe model object.
[in]lenThe number of scene objects to retrieve.
[out]scenesThe scene objects retrieved.
[out]countThe number of scene objects retrieved.
Returns
SU_RESULT SUModelGetStatistics ( SUModelRef  model,
struct SUModelStatistics statistics 
)

Calculates the sum of all entities by type in the model.

Parameters
[in]modelThe model object.
[out]statisticsThe SUModelStatistics struct that will be populated with the number of each entity type in the model.
Returns
SU_RESULT SUModelGetUnits ( SUModelRef  model,
enum SUModelUnits units 
)

Returns the units associated with the given model.

Parameters
[in]modelThe model object.
[out]unitsThe units retrieved.
Returns
SU_RESULT SUModelGetVersion ( SUModelRef  model,
int *  major,
int *  minor,
int *  build 
)

Retrieves the version of a model object. The version consists of three numbers: major version number, minor version number, and the build number.

Parameters
[in]modelThe model object.
[out]majorThe major version number retrieved.
[out]minorThe minor version number retrieved.
[out]buildThe build version number retrieved.
Returns
SU_RESULT SUModelMergeCoplanarFaces ( SUModelRef  model)

Merges all adjacent, coplanar faces in the model.

Parameters
[in]modelThe model object.
Returns
SU_RESULT SUModelRelease ( SUModelRef model)

Releases a model object and its associated resources. The root component of the model object and all its child objects must not be released explicitly.

Parameters
[in]modelThe model object.
Returns
SU_RESULT SUModelSaveToFile ( SUModelRef  model,
const char *  file_path 
)

Serializes the model object and its entities to local disk.

Parameters
[in]modelThe model object.
[in]file_pathThe file path destination of the serialization operation. Assumed to be UTF-8 encoded.
Returns
SU_RESULT SUModelSetGeoReference ( SUModelRef  model,
double  latitude,
double  longitude,
double  altitude,
bool  is_z_value_centered,
bool  is_on_ocean_floor 
)

Georeferences the model.

Parameters
[in]modelThe model object.
[in]latitudeLatitude of the model.
[in]longitudeLongitude of the model.
[in]altitudeAltitude of the model.
[in]is_z_value_centeredIndicates if z value should be centered.
[in]is_on_ocean_floorIndicates whether the model is on the ocean floor.
Returns
SU_RESULT SUModelSetName ( SUModelRef  model,
const char *  name 
)

Sets the name of a model object.

Parameters
[in]modelThe model object.
[in]nameThe name of the model object. Assumed to be UTF-8 encoded.
Returns