SketchUp C API
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Related Functions
SUTextureWriterRef Struct Reference

Used 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(). More...

#include <SketchUpAPI/model/texture_writer.h>

Related Functions

(Note that these are not member functions.)

enum SUResult SUTextureWriterCreate (SUTextureWriterRef *writer)
 Creates a new texture writer object. The texture writer must be subsequently deallocated with SUTextureWriterRelease(). More...
 
enum SUResult SUTextureWriterRelease (SUTextureWriterRef *writer)
 Deallocates a texture writer object. More...
 
enum SUResult 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...
 
enum SUResult 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...
 
enum SUResult SUTextureWriterGetNumTextures (SUTextureWriterRef writer, size_t *count)
 Retrieves the total number of textures that are loaded into the texture writer object. More...
 
enum SUResult SUTextureWriterWriteTexture (SUTextureWriterRef writer, long texture_id, const char *path, bool reduce_size)
 Writes a texture to a file on disk. More...
 
enum SUResult SUTextureWriterGetImageRep (SUTextureWriterRef writer, long texture_id, SUImageRepRef *image)
 Retrieves an image from the given texture_id. The given image representation object must have been constructed using one of the SUImageRepCreate* functions. It must be released using SUImageRepRelease(). More...
 
enum SUResult 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...
 
enum SUResult 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...
 
enum SUResult SUTextureWriterGetTextureFilePath (SUTextureWriterRef writer, long texture_id, SUStringRef *file_path)
 Retrieves the file path from a texture image written using SUTextureWriterWriteAllTextures. More...
 
enum SUResult 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...
 
enum SUResult 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...
 
enum SUResult 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...
 
enum SUResult SUTextureWriterGetTextureIdForFace (SUTextureWriterRef writer, SUFaceRef face, bool front, long *texture_id)
 Gets the texture id of a previously loaded face. More...
 

Detailed Description

Used 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().

Friends And Related Function Documentation

enum SUResult SUTextureWriterCreate ( SUTextureWriterRef writer)
related

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

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

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
enum SUResult SUTextureWriterGetFrontFaceUVCoords ( SUTextureWriterRef  writer,
SUFaceRef  face,
size_t  len,
const struct SUPoint3D  points[],
struct SUPoint2D  uv_coords[] 
)
related

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
enum SUResult SUTextureWriterGetImageRep ( SUTextureWriterRef  writer,
long  texture_id,
SUImageRepRef image 
)
related

Retrieves an image from the given texture_id. The given image representation object must have been constructed using one of the SUImageRepCreate* functions. It must be released using SUImageRepRelease().

Since
SketchUp 2017 M2, API 5.2
Parameters
[in]writerThe texture writer object.
[in]texture_idThe id of the texture.
[out]imageThe image object retrieved.
Returns
enum SUResult SUTextureWriterGetNumTextures ( SUTextureWriterRef  writer,
size_t *  count 
)
related

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

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

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
enum SUResult SUTextureWriterGetTextureIdForEntity ( SUTextureWriterRef  writer,
SUEntityRef  entity,
long *  texture_id 
)
related

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
enum SUResult SUTextureWriterGetTextureIdForFace ( SUTextureWriterRef  writer,
SUFaceRef  face,
bool  front,
long *  texture_id 
)
related

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
enum SUResult SUTextureWriterIsTextureAffine ( SUTextureWriterRef  writer,
long  texture_id,
bool *  is_affine 
)
related

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
enum SUResult SUTextureWriterLoadEntity ( SUTextureWriterRef  writer,
SUEntityRef  entity,
long *  texture_id 
)
related

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
enum SUResult SUTextureWriterLoadFace ( SUTextureWriterRef  writer,
SUFaceRef  face,
long *  front_texture_id,
long *  back_texture_id 
)
related

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.
[out]front_texture_idThe texture ID of the front texture.
[out]back_texture_idThe texture ID of the back texture.
Returns
enum SUResult SUTextureWriterRelease ( SUTextureWriterRef writer)
related

Deallocates a texture writer object.

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

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
enum SUResult SUTextureWriterWriteTexture ( SUTextureWriterRef  writer,
long  texture_id,
const char *  path,
bool  reduce_size 
)
related

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

The documentation for this struct was generated from the following files: