本文整理汇总了C++中aiString::C_Str方法的典型用法代码示例。如果您正苦于以下问题:C++ aiString::C_Str方法的具体用法?C++ aiString::C_Str怎么用?C++ aiString::C_Str使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类aiString
的用法示例。
在下文中一共展示了aiString::C_Str方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setTexture
static void setTexture( const String &resolvedPath, const aiString &texPath, CPPCore::TArray<Texture*> &textures ) {
Texture *tex = new Texture;
textures.add( tex );
String texname;
texname += "file://";
texname += resolvedPath;
String temp( texPath.C_Str() ), temp1;
IO::Uri::normalizePath( temp, '\\', temp1 );
texname += temp1;
tex->m_loc = IO::Uri( texname );
String::size_type pos = texname.rfind( "/" );
if ( pos != String::npos ) {
texname = texname.substr( pos, texname.size() - pos );
}
if (IO::IOService::getInstance()->fileExists(tex->m_loc)) {
IO::AbstractFileSystem *fs = IO::IOService::getInstance()->getFileSystem("file");
IO::Stream *file = fs->open(tex->m_loc, IO::Stream::AccessMode::ReadAccess);
tex->m_size = file->getSize();
file->read(tex->m_data, tex->m_size);
fs->close(&file);
}
tex->m_textureName = texname;
tex->m_width = 0;
tex->m_height = 0;
tex->m_channels = 0;
tex->m_data = nullptr;
tex->m_size = 0;
}
示例2: toXFileString
std::string XFileExporter::toXFileString(aiString &name)
{
std::string str = std::string(name.C_Str());
std::replace(str.begin(), str.end(), '<', '_');
std::replace(str.begin(), str.end(), '>', '_');
std::replace(str.begin(), str.end(), '{', '_');
std::replace(str.begin(), str.end(), '}', '_');
std::replace(str.begin(), str.end(), '$', '_');
return str;
}
示例3: addTexture
void Material::addTexture(aiString FILEPATH)
{
int width, height;
unsigned char* image = SOIL_load_image(FILEPATH.C_Str(), &width, &height, 0, SOIL_LOAD_RGBA);
p_images.push_back(image);
p_width.push_back(width);
p_height.push_back(height);
}
示例4: aiStringToString
String^ aiStringToString(aiString str)
{
// Assimp aiString underlying encoding is UTF-8
// Windows String underlying encoding is UTF-16
Encoding^ srcEncoding = Encoding::UTF8;
const char* pAiData = str.C_Str(); // pointer to the underlying data of he aiString
array<unsigned char>^ buffer = gcnew array<unsigned char>(str.length);
for(unsigned int i=0; i<str.length; ++i)
buffer[i] = pAiData[i];
return srcEncoding->GetString(buffer);
}
示例5: writePath
void XFileExporter::writePath(aiString path)
{
std::string str = std::string(path.C_Str());
BaseImporter::ConvertUTF8toISO8859_1(str);
while( str.find( "\\\\") != std::string::npos)
str.replace( str.find( "\\\\"), 2, "\\");
while( str.find( "\\") != std::string::npos)
str.replace( str.find( "\\"), 1, "/");
mOutput << str;
}
示例6: toXFileString
std::string XFileExporter::toXFileString(aiString &name)
{
std::string pref = ""; // node name prefix to prevent unexpected start of string
std::string str = pref + std::string(name.C_Str());
for (int i=0; i < (int) str.length(); ++i)
{
if ((str[i] >= '0' && str[i] <= '9') || // 0-9
(str[i] >= 'A' && str[i] <= 'Z') || // A-Z
(str[i] >= 'a' && str[i] <= 'z')) // a-z
continue;
str[i] = '_';
}
return str;
}
示例7: formatTexPath
bool formatTexPath(const aiString& texName, Path& texPath)
{
if (texName.length == 0)
return false;
string name = texName.C_Str();
name = name.substr(0, name.find_last_of('.')).append(".image");
std::cout << name << std::endl;
texPath.composePath(name);
return true;
}
示例8: toEnum
// TEXTURE2D
vgd::Shp< vgd::node::Texture2D > createTexture2D( const vgio::Media & media, const boost::filesystem::path pathFilename, const int index, const aiString aiImagePath,
const aiTextureMapMode mapU, const aiTextureMapMode mapV )
{
// Compute image path
std::string imagePathFilenameStr;
namespace bfs = boost::filesystem;
const bfs::path imagePathFilename = aiImagePath.C_Str();
if ( imagePathFilename.is_absolute() )
{
imagePathFilenameStr = imagePathFilename.string();
}
else // relative path
{
const bfs::path rootPath = pathFilename.parent_path();
imagePathFilenameStr = (rootPath / imagePathFilename).string();
}
// Texture node
using vgd::node::Texture2D;
vgd::Shp< Texture2D > texture = Texture2D::create( imagePathFilename.filename().string(), (int8)index );
// IMAGE
// Gathers the image from the cache.
vgd::Shp< vgd::basic::IImage > image;
image = vgio::ImageCache::load( media, imagePathFilenameStr );
texture->setImage( image );
// Default values
texture->setMipmap( true );
texture->setMinFilter( Texture2D::LINEAR_MIPMAP_LINEAR );
texture->setMagFilter( Texture2D::LINEAR );
// WRAPPING
texture->setWrapS( toEnum(mapU) );
texture->setWrapT( toEnum(mapV) );
// FUNCTION
texture->sethFunction( vgd::node::Texture2D::FUN_MODULATE ); // @todo
return texture;
}
示例9: operator
bool operator()(const aiString& aiA, const aiString& aiB)const
{
std::string a = aiA.C_Str();
std::string b = aiB.C_Str();
return a < b;
}
示例10: toString
string toString(const aiString& s) { return s.C_Str(); }
示例11: string
inline std::string assimpToCore( const aiString& string ) {
return std::string( string.C_Str() );
}