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

Go to the source code of this file.

Functions

SU_RESULT SUTextureWriterCreate (SUTextureWriterRef *writer)
 Creates a new texture writer object. The texture writer must be subsequently deallocated with SUTextureWriterRelease. More...
 
SU_RESULT SUTextureWriterRelease (SUTextureWriterRef *writer)
 Deallocates a texture writer object. More...
 
SU_RESULT SUTextureWriterLoadEntity (SUTextureWriterRef writer, SUEntityRef entity, long *texture_id)
 Loads an entity to a texture writer object in order to have its texture written to disk. Acceptable entity types are: SUComponentInstanceRef, SUImageRef, SUGroupRef and SULayerRef. More...
 
SU_RESULT SUTextureWriterLoadFace (SUTextureWriterRef writer, SUFaceRef face, long *front_texture_id, long *back_texture_id)
 Loads a face object to a texture writer object in order to have its front and/or back texture written to local disk. More...
 
SU_RESULT SUTextureWriterGetNumTextures (SUTextureWriterRef writer, size_t *count)
 Retrieves the total number of textures that are loaded into the texture writer object. More...
 
SU_RESULT SUTextureWriterWriteTexture (SUTextureWriterRef writer, long texture_id, const char *path, bool reduce_size)
 Writes a texture to a file on disk. More...
 
SU_RESULT SUTextureWriterWriteAllTextures (SUTextureWriterRef writer, const char *directory)
 Writes out all the textures loaded into a texture writer object. The file names and formats are those of the image file used to create the texture. Preexisting files are overwritten. More...
 
SU_RESULT SUTextureWriterIsTextureAffine (SUTextureWriterRef writer, long texture_id, bool *is_affine)
 Retrieves a flag indicating whether a texture object loaded into a texture writer object is linearly interpolated (affine) or perspective corrected. More...
 
SU_RESULT SUTextureWriterGetTextureFilePath (SUTextureWriterRef writer, long texture_id, SUStringRef *file_path)
 Retrieves the file path from a texture image written using SUTextureWriterWriteAllTextures. More...
 
SU_RESULT SUTextureWriterGetFrontFaceUVCoords (SUTextureWriterRef writer, SUFaceRef face, size_t len, const struct SUPoint3D points[], struct SUPoint2D uv_coords[])
 Given an array of vertex positions, retrieves the corresponding UV coordinates of the front face texture of a face object that has been loaded into the given texture writer object. More...
 
SU_RESULT SUTextureWriterGetBackFaceUVCoords (SUTextureWriterRef writer, SUFaceRef face, size_t len, const struct SUPoint3D points[], struct SUPoint2D uv_coords[])
 Given an array of vertex positions, retrieves the corresponding UV coordinates of the back face texture of a face object that has been loaded into the given texture writer object. More...
 
SU_RESULT SUTextureWriterGetTextureIdForEntity (SUTextureWriterRef writer, SUEntityRef entity, long *texture_id)
 Gets the texture id of a previously loaded entity. Acceptable entity types are: SUComponentInstanceRef, SUImageRef, SUGroupRef and SULayerRef. More...
 
SU_RESULT SUTextureWriterGetTextureIdForFace (SUTextureWriterRef writer, SUFaceRef face, bool front, long *texture_id)
 Gets the texture id of a previously loaded face. More...
 

Function Documentation

SU_RESULT SUTextureWriterCreate ( SUTextureWriterRef writer)

Creates a new texture writer object. The texture writer must be subsequently deallocated with SUTextureWriterRelease.

Parameters
[out]writerThe created texture writer object.
Returns
SU_RESULT SUTextureWriterGetBackFaceUVCoords ( SUTextureWriterRef  writer,
SUFaceRef  face,
size_t  len,
const struct SUPoint3D  points[],
struct SUPoint2D  uv_coords[] 
)

Given an array of vertex positions, retrieves the corresponding UV coordinates of the back face texture of a face object that has been loaded into the given texture writer object.

Parameters
[in]writerThe texture writer object.
[in]faceThe face object.
[in]lenThe number of vertex positions.
[in]pointsThe vertex positions.
[out]uv_coordsThe UV coordinates retrieved.
Returns
SU_RESULT SUTextureWriterGetFrontFaceUVCoords ( SUTextureWriterRef  writer,
SUFaceRef  face,
size_t  len,
const struct SUPoint3D  points[],
struct SUPoint2D  uv_coords[] 
)

Given an array of vertex positions, retrieves the corresponding UV coordinates of the front face texture of a face object that has been loaded into the given texture writer object.

Parameters
[in]writerThe texture writer object.
[in]faceThe face object.
[in]lenThe number of vertex positions.
[in]pointsThe vertex positions.
[out]uv_coordsThe UV coordinates retrieved.
Returns
SU_RESULT SUTextureWriterGetNumTextures ( SUTextureWriterRef  writer,
size_t *  count 
)

Retrieves the total number of textures that are loaded into the texture writer object.

Parameters
[in]writerThe texture writer object.
[in]countThe number of textures.
Returns
SU_RESULT SUTextureWriterGetTextureFilePath ( SUTextureWriterRef  writer,
long  texture_id,
SUStringRef file_path 
)

Retrieves the file path from a texture image written using SUTextureWriterWriteAllTextures.

Parameters
[in]writerThe texture writer object.
[in]texture_idThe id of the texture.
[out]file_pathThe file path retrieved.
Returns
SU_RESULT SUTextureWriterGetTextureIdForEntity ( SUTextureWriterRef  writer,
SUEntityRef  entity,
long *  texture_id 
)

Gets the texture id of a previously loaded entity. Acceptable entity types are: SUComponentInstanceRef, SUImageRef, SUGroupRef and SULayerRef.

Parameters
[in]writerThe texture writer object.
[in]entityThe entity object.
[out]texture_idThe texture id retrieved.
Returns
SU_RESULT SUTextureWriterGetTextureIdForFace ( SUTextureWriterRef  writer,
SUFaceRef  face,
bool  front,
long *  texture_id 
)

Gets the texture id of a previously loaded face.

Parameters
[in]writerThe texture writer object.
[in]faceThe face object.
[in]frontThe side of the face we are interested in. True if we want texture for the front face, false if we want the texture for the back face.
[out]texture_idThe texture id retrieved.
Returns
SU_RESULT SUTextureWriterIsTextureAffine ( SUTextureWriterRef  writer,
long  texture_id,
bool *  is_affine 
)

Retrieves a flag indicating whether a texture object loaded into a texture writer object is linearly interpolated (affine) or perspective corrected.

Parameters
[in]writerThe texture writer object.
[in]texture_idThe id of the texture.
[out]is_affineThe affine flag retrieved.
Returns
SU_RESULT SUTextureWriterLoadEntity ( SUTextureWriterRef  writer,
SUEntityRef  entity,
long *  texture_id 
)

Loads an entity to a texture writer object in order to have its texture written to disk. Acceptable entity types are: SUComponentInstanceRef, SUImageRef, SUGroupRef and SULayerRef.

Parameters
[in]writerThe texture writer object.
[in]entityThe entity object.
[out]texture_idThe id of the texture.
Returns
SU_RESULT SUTextureWriterLoadFace ( SUTextureWriterRef  writer,
SUFaceRef  face,
long *  front_texture_id,
long *  back_texture_id 
)

Loads a face object to a texture writer object in order to have its front and/or back texture written to local disk.

Parameters
[in]writerThe texture writer object.
[in]faceThe face object.
[in]front_texture_idThe texture ID of the front texture.
[in]back_texture_idThe texture ID of the back texture.
Returns
SU_RESULT SUTextureWriterRelease ( SUTextureWriterRef writer)

Deallocates a texture writer object.

Parameters
[in]writerThe texture writer object.
Returns
SU_RESULT SUTextureWriterWriteAllTextures ( SUTextureWriterRef  writer,
const char *  directory 
)

Writes out all the textures loaded into a texture writer object. The file names and formats are those of the image file used to create the texture. Preexisting files are overwritten.

Parameters
[in]writerThe texture writer object.
[in]directoryThe directory on disk to write the textures. Assumed to be UTF-8 encoded.
Returns
SU_RESULT SUTextureWriterWriteTexture ( SUTextureWriterRef  writer,
long  texture_id,
const char *  path,
bool  reduce_size 
)

Writes a texture to a file on disk.

Parameters
[in]writerThe texture writer object.
[in]texture_idThe id of the texture.
[in]pathThe file location on disk to write the texture. If a file is present at the location it is overwritten. The file extension of the file path is indicates the file format. The extension must be one of "jpg", "bmp", "tif", or "png". Assumed to be UTF-8 encoded.
[in]reduce_sizeIndicates whether the texture image should be reduced in size through scaling.
Returns