![]() |
Polygon Crucher SDK - Documentation
Documentation
|
CMaterials stores scene materials. CMaterials::CreateNewMaterial allows to create a material and insert it in the list. More...
CMaterials stores scene materials. CMaterials::CreateNewMaterial allows to create a material and insert it in the list.
#include <3DMaterial.h>
Public Member Functions | |
| void | SetScene (C3DScene *scene) |
| C3DScene * | GetScene () const |
| CGuidMgr * | GetGuidMgr () const |
| The scene that own the materials. | |
| virtual void | Serialize (CXArchive &ar) |
| If scene is defined then guidMgr is the scene guidMgr. The material list handles scene materials. Otherwise it can be a private material list, related to something else (renderer...) | |
| HashPos | GetFirst () const |
| if matclass = MATERIAL_CLASS_UNDEFINED, return all type of materials, otherwise return materials of the given class | |
| void | GetNext (HashPos &pos, MaterialID &id, C3DMaterial *&mat) const |
| unsigned int | GetMaterials (C3DMaterialArray &mats, bool resetArray=true, MATERIAL_CLASS matclass=MATERIAL_CLASS_UNDEFINED) const |
| if defined matclass should be the same than the one use in GetFirstMaterial | |
| unsigned int | GetMaterials (C3DMaterialArray &mats, MapType maptype, bool checkIfBitmapExist, bool resetArray=true) const |
| unsigned int | GetCount (MATERIAL_CLASS matclass=MATERIAL_CLASS_UNDEFINED) const |
| C3DMaterial * | CreateNewMaterial (MATERIAL_CLASS materialClass) |
| Create and add a new material of the specified material class. | |
| C3DMaterial * | CreateNewMaterial (MaterialID &refid, MATERIAL_CLASS materialClass) |
| Create and add a new material of the specified material class with the provided refid. If refid is alreaday used, a new material id is assigned which is returned in refid. | |
| MaterialID | AddNewMaterial (C3DMaterial *mat) |
| Add the new material which has not been assigned to any materials. Return its MaterialId definitive which will be the same as the one defined if possible. | |
| C3DMaterial * | SetDefaultMaterial (C3DStandardMaterial *defaultMat=NULL) |
| Return the default material. defaultMat is optional and can define specific color properties. | |
| bool | RemoveMaterial (MaterialID refID, bool deleteIt=true) |
| bool | ReplaceMaterial (C3DMaterial *newMat, bool deletePrevious=true) |
| Replace an existing material with newMat->GetMaterialID() by the newMat provided material. If this MaterialID does not exist, then newMat is simply added to the materials. When deletePrevious = false, the old material is removed from the materials list and it is not deleted. NewMat is supposed to not be attached to any existing materials list. | |
| void | CopyMaterials (const CMaterials &refmaterials, unsigned int flags=MATERIAL_COPY_KEEP_ID|MATERIAL_COPY_REMOVE_ALL, const C3DScene *dstScene=NULL, const CMaterialHashMap *hash=NULL) |
| C3DMaterial * | Find (const C3DMaterial &material, bool sameName) const |
| Find a material that have similar properties and optionally the same name. | |
| C3DMaterial * | FindByID (MaterialID refID, bool createIfMissing=false) const |
| Find the material that have the given MaterialID. Return NULL if none is found. (no material is created, even with DEFAULT_MATERIAL) | |
| C3DMaterial * | FindByName (const CXString &name) const |
| Find the first material with the given name (beware: there can be several different materials with the same name). | |
| unsigned int | IsGenerateUVWNeeded (MaterialID matid=MATERIAL_UNDEFINED, MapType type=MAPTYPE_UNDEFINED) const |
| If matid == MATERIAL_UNDEFINED, it returns the number of materials that have a projection that requires UVW generation. If matid != MATERIAL_UNDEFINED it returns 1 if the specified material requires UVW generationrequired. | |
| unsigned int | CreateMissingUVWBackChannels (const CGeomInfo *info, MaterialID matid=MATERIAL_UNDEFINED, MapType type=MAPTYPE_UNDEFINED, CHANNEL_PROPERTIES channelTagFlag=CHANNEL_NONE) const |
| unsigned int | FilterByText (const CXString &filter, bool matchCase, C3DMaterialIDArray &matids, bool resetHash) |
| Advanced search: find all materials that match the given text. Return the number of element in matids. | |
| void | AdjustPaths (const CXString &targetPath, bool relativePathAllowed) |
| Make internal filenames used by materials relative to provided path. | |
| void | RemoveAll () |
Friends | |
| void | C3DMaterial::HashRemove () |
| void | C3DMaterial::HashInsert () |