Rhino C++ API
8.14
|
#include <rhinoSdkTexture.h>
Public Member Functions | |
int | AddTextureMapping (const ON_TextureMapping &texture_mapping, bool bReference=false) |
const ON_TextureCoordinates * | CachedTextureCoordinates (const ON_MappingChannel *mc, const ON_Mesh &mesh) const |
const ON_TextureCoordinates * | CachedTextureCoordinates (const ON_UUID &plugin_id, int mapping_channel_id, const ON_3dmObjectAttributes &object_attributes, const ON_Mesh &mesh) const |
int | CreateTextureMapping (const ON_TextureMapping &mapping, unsigned int worksession_ref_model_sn, unsigned int linked_idef_sn) |
bool | DeleteTextureMapping (int texture_mapping_index) |
CRhinoDoc & | Document () const |
int | FindTextureMapping (const ON_MappingChannel *mapping_channel, bool bIgnoreDeleted=true) const |
int | FindTextureMapping (const wchar_t *texture_mapping_name, bool bIgnoreDeleted=true) const |
int | FindTextureMapping (ON_UUID texture_mapping_id, bool bIgnoreDeleted=true) const |
bool | GetTextureMapping (const ON_MappingChannel *mapping_channel, ON_TextureMapping &mapping) const |
bool | GetTextureMapping (const ON_UUID &texture_mapping_id, ON_TextureMapping &mapping) const |
bool | InTextureMappingTable (const ON_TextureMapping *texture_mapping) const |
bool | IsValidTextureMappingTableIndex (int texture_mapping_index) const |
void | ListTable (ON_TextLog &text_log, unsigned int level_of_detail) const |
bool | ModifyTextureMapping (const ON_TextureMapping &texture_mapping, int texture_mapping_index, bool bQuiet=false) |
const CRhinoTextureMapping & | operator[] (int texture_mapping_index) const |
void | SetRemapIndex (int, int) |
void | Sort (int(*compare)(const CRhinoTextureMapping *, const CRhinoTextureMapping *, void *), int(*cull)(const CRhinoTextureMapping *, void *), void *p=0) |
const class CRhinoDocTableReference & | TableReference () const |
int | TextureMappingCount () const |
bool | UndeleteTextureMapping (int texture_mapping_index) |
bool | UndoModifyTextureMapping (int texture_mapping_index, unsigned int ur_sn) |
Public Attributes | |
const CRhinoTextureMapping & | DefaultTextureMapping |
Friends | |
class | CRhinoDoc |
int CRhinoTextureMappingTable::AddTextureMapping | ( | const ON_TextureMapping & | texture_mapping, |
bool | bReference = false |
||
) |
Description: Adds a new texture_mapping to the texture_mapping table.
Parameters: texture_mapping - [in] definition of new texture_mapping. The information in texture_mapping is copied. If texture_mapping.TextureMappingName() is empty the a unique name of the form "TextureMapping 01" will be automatically created.
bReference - [in] TRUE if this texture_mapping is a reference texture_mapping. Reference texture_mappings are not saved in files.
Returns: @untitled table >=0 index of new texture_mapping -1 texture_mapping not added because a texture_mapping with that name already exists.
Remarks: In some cases, calling AddTextureMapping() can cause the memory references returned by operator[] and CurrentTextureMapping() to become invalid.
const ON_TextureCoordinates* CRhinoTextureMappingTable::CachedTextureCoordinates | ( | const ON_MappingChannel * | mc, |
const ON_Mesh & | mesh | ||
) | const |
const ON_TextureCoordinates* CRhinoTextureMappingTable::CachedTextureCoordinates | ( | const ON_UUID & | plugin_id, |
int | mapping_channel_id, | ||
const ON_3dmObjectAttributes & | object_attributes, | ||
const ON_Mesh & | mesh | ||
) | const |
Description: Get cached texture coordinates off a mesh. If the coordinates do not exist but can be calculated, they are calculated and returned.
Parameters: plugin_id - [in] mapping_channel_id - [in] object_attributes - [in] mc - [in] mesh - [in]
Returns: A pointer to the texture coordinates, if they exist.
int CRhinoTextureMappingTable::CreateTextureMapping | ( | const ON_TextureMapping & | mapping, |
unsigned int | worksession_ref_model_sn, | ||
unsigned int | linked_idef_sn | ||
) |
Description: Basic tool used to create a new texturemapping with specified definition to the texturemapping table. The AddTextureMapping() functions all use CreateTextureMapping() when a new texturemapping needs to be added to the texturemapping table.
Parameters: texturemapping - [in] definition of new texturemapping. The information in texturemapping is copied. If texturemapping.TextureMappingName() is empty the a unique name of the form "TextureMapping 01" will be automatically created.
worksession_ref_model_sn - [in] 0: texturemapping is not a reference layer 1: texturemapping is a reference texturemapping but not part of a worksession reference file 2-1000: reserved for future use >1000: worksession reference file serial number
linked_idef_sn - [in] 0: texturemapping is not from a liked instance definition 1-1000: reserved for future use >1000: texturemapping instance definition serial number
Returns: @untitled table >=0 index of new texturemapping -1 texturemapping not added because a texturemapping with that name already exists.
bool CRhinoTextureMappingTable::DeleteTextureMapping | ( | int | texture_mapping_index | ) |
CRhinoDoc& CRhinoTextureMappingTable::Document | ( | ) | const |
Description: TextureMapping tables store the list of texture_mappings in a Rhino document.
Returns: CRhinoDocument that owns this texture_mapping table.
int CRhinoTextureMappingTable::FindTextureMapping | ( | const ON_MappingChannel * | mapping_channel, |
bool | bIgnoreDeleted = true |
||
) | const |
int CRhinoTextureMappingTable::FindTextureMapping | ( | const wchar_t * | texture_mapping_name, |
bool | bIgnoreDeleted = true |
||
) | const |
int CRhinoTextureMappingTable::FindTextureMapping | ( | ON_UUID | texture_mapping_id, |
bool | bIgnoreDeleted = true |
||
) | const |
bool CRhinoTextureMappingTable::GetTextureMapping | ( | const ON_MappingChannel * | mapping_channel, |
ON_TextureMapping & | mapping | ||
) | const |
Description: Get a texture mapping from a mapping ref. Parameters: mapping_channel - [in] texture_mapping_id - [in] mapping - [out] Return True if the mapping was found.
bool CRhinoTextureMappingTable::GetTextureMapping | ( | const ON_UUID & | texture_mapping_id, |
ON_TextureMapping & | mapping | ||
) | const |
bool CRhinoTextureMappingTable::InTextureMappingTable | ( | const ON_TextureMapping * | texture_mapping | ) | const |
Returns: true The texture mapping is an element in this texture mapping table.
bool CRhinoTextureMappingTable::IsValidTextureMappingTableIndex | ( | int | texture_mapping_index | ) | const |
Returns: true The texture_mapping_index is a valid index of a texture mapping element in this texture mapping table.
void CRhinoTextureMappingTable::ListTable | ( | ON_TextLog & | text_log, |
unsigned int | level_of_detail | ||
) | const |
bool CRhinoTextureMappingTable::ModifyTextureMapping | ( | const ON_TextureMapping & | texture_mapping, |
int | texture_mapping_index, | ||
bool | bQuiet = false |
||
) |
Description: Modify texture_mapping settings
Parameters: texture_mapping - [in] new settings. This information is copied. texture_mapping_index - [in] zero based index of texture_mapping to set. This must be in the range 0 <= texture_mapping_index < TextureMappingCount(). bQuiet - [in] if TRUE, then no message boxes pop up to explain failures.
Returns: TRUE if successful. FALSE if texture_mapping_index is out of range or the settings attempt to lock or hide the current texture_mapping.
const CRhinoTextureMapping& CRhinoTextureMappingTable::operator[] | ( | int | texture_mapping_index | ) | const |
Description: Conceptually, the texture_mapping table is an array of TextureMappingCount() texture_mappings. The operator[] can be used to get individual texture_mappings. A texture_mapping is either active or deleted and this state is reported by CRhinoTextureMapping::IsDeleted().
Parameters: texture_mapping_index - zero based array index or -1 for the default rendering texture_mapping.
Returns: Reference to the texture_mapping. If texture_mapping_index is out of range, the current texture_mapping is returned. Note that this reference may become invalid after AddTextureMapping() is called.
void CRhinoTextureMappingTable::SetRemapIndex | ( | int | , |
int | |||
) |
Description: Gets an array of pointers to texturemappings whose value of CRhinoTextureMapping.m_sort_index != -1. The returned list is sorted by the value of CRhinoTextureMapping.m_sort_index.
Parameters: sorted_list - [out] this array is returned with length <= TextureMappingCount() and is sorted by the values of CRhinoTextureMapping::m_sort_index.
bIgnoreDeleted - [in] true means don't include deleted texturemappings.
bIgnoreReferenced - [in] true means don't include referenced texturemappings. A "referenced" texturemapping is one from a worksession reference model or a linked instance definition model.
Remarks: Use Sort() to set the values of m_sort_index. void GetSortedList( ON_SimpleArray< const CRhinoTextureMapping* >& sorted_list, bool bIgnoreDeleted, bool bIgnoreReferenced ) const;
void CRhinoTextureMappingTable::Sort | ( | int(*)(const CRhinoTextureMapping *, const CRhinoTextureMapping *, void *) | compare, |
int(*)(const CRhinoTextureMapping *, void *) | cull, | ||
void * | p = 0 |
||
) |
Description: Use this to set CRhinoTextureMapping::m_sort_index so that the values of m_sort_index run from 0 to TextureMappingCount()-1 and compare(texture_mapping_table[i],texture_mapping_table[j]) < 0 ) implies texture_mapping_table[i].m_sort_index < texture_mapping_table[j].m_sort_index.
Parameters: compare - [in] compare function with prototype int compare(const CRhinoTextureMapping* arg1,const CRhinoTextureMapping* arg2,void* p). that returns <0 if arg1<arg2, 0 if arg1=arg2, and >0 if arg1>arg2. cull - [in] optional filter function with prototype int cull(const CRhinoTextureMapping* arg,void* p). that returns TRUE if the texture_mapping should be ignored when sorting. TextureMappings that are ignored are not included in the list returned by GetSortedList(). Pass 0 if you do not need to cull the list. p - [in] pointer passed as last argument to compare() and cull().
Remarks: After calling Sort(), you can repeatedly call GetSortedList() to get a sorted list of CRhinoTextureMapping pointers. Sort() and GetSortedList() do not modify the order or persistent information in the texture_mapping table. They are intended to be used to get sorted lists of texture_mappings for dialogs, etc.
const class CRhinoDocTableReference& CRhinoTextureMappingTable::TableReference | ( | ) | const |
int CRhinoTextureMappingTable::TextureMappingCount | ( | ) | const |
Returns: Number of texture_mappings in the texture_mapping table, including deleted texture_mappings.
bool CRhinoTextureMappingTable::UndeleteTextureMapping | ( | int | texture_mapping_index | ) |
bool CRhinoTextureMappingTable::UndoModifyTextureMapping | ( | int | texture_mapping_index, |
unsigned int | ur_sn | ||
) |
Description: If the texture_mapping has been modified and the modification can be undone, then UndoModifyTextureMapping() will restore the texture_mapping to its previous state.
Returns: True if this texture_mapping had been modified and the modifications were undone.
See Also: CRhinoTextureMapping::IsModified.
|
friend |
const CRhinoTextureMapping& CRhinoTextureMappingTable::DefaultTextureMapping |