本文整理汇总了C++中gem::Properties类的典型用法代码示例。如果您正苦于以下问题:C++ Properties类的具体用法?C++ Properties怎么用?C++ Properties使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Properties类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: enumProperties
bool imageBase :: enumProperties(gem::Properties&readable,
gem::Properties&writeable)
{
readable.clear();
writeable.clear();
return false;
}
开发者ID:jptrkz,项目名称:Gem,代码行数:7,代码来源:imageBase.cpp
示例2: setProperties
void videoVLC::setProperties(gem::Properties&props)
{
int width=-1;
int height=-1;
m_props=props;
double d;
if(props.get("width", d)) {
if(d>0) {
width = d;
}
}
if(props.get("height", d)) {
if(d>0) {
height=d;
}
}
if(!m_mediaplayer) {
if(width>0) {
m_pixBlock.image.xsize=width;
}
if(height>0) {
m_pixBlock.image.ysize=height;
}
} else {
// changes will take effect with next restart
}
}
开发者ID:umlaeute,项目名称:Gem,代码行数:30,代码来源:videoVLC.cpp
示例3: addProperties
static void addProperties(gem::Properties&props, int argc, t_atom*argv)
{
if(!argc)return;
if(argv->a_type != A_SYMBOL) {
::error("no key given...");
return;
}
std::string key=std::string(atom_getsymbol(argv)->s_name);
std::vector<gem::any> values;
argc--; argv++;
while(argc-->0) {
values.push_back(atom2any(argv++));
}
switch(values.size()) {
default:
props.set(key, values);
break;
case 1:
props.set(key, values[0]);
break;
case 0:
{
gem::any dummy;
props.set(key, dummy);
}
break;
}
}
开发者ID:kmatheussen,项目名称:libpd,代码行数:29,代码来源:pix_record.cpp
示例4: enumProperties
bool videoUNICAP :: enumProperties(gem::Properties&readable,
gem::Properties&writeable) {
readable.clear();
writeable.clear();
if(m_handle) {
int count=0;
unicap_status_t status= unicap_reenumerate_properties(m_handle, &count );
if(!SUCCESS(status))
return false;
int id=0;
for(id=0; id<count; id++) {
unicap_property_t prop;
gem::any typ;
status = unicap_enumerate_properties(m_handle, NULL, &prop, id);
if(!SUCCESS(status))
continue;
debugPost("id='%s'\tcat='%s'\tunit='%s'\tflags=%d",
prop.identifier,
prop.category,
prop.unit,
prop.flags);
switch(prop.type) {
case UNICAP_PROPERTY_TYPE_RANGE:
debugPost("range %f-%f", prop.range.min, prop.range.min);
typ=prop.range.max;
break;
case UNICAP_PROPERTY_TYPE_VALUE_LIST:
debugPost("value_list %d", prop.value_list.value_count);
typ=prop.value_list.value_count;
break;
case UNICAP_PROPERTY_TYPE_MENU:
debugPost("menu '%s' of %d", prop.menu_item, prop.menu.menu_item_count);
typ=std::string(prop.menu_item);//prop.menu.menu_item_count;
break;
case UNICAP_PROPERTY_TYPE_FLAGS:
debugPost("flags");
break;
default:
debugPost("unknown");
// ?
break;
}
readable.set(prop.identifier, typ);
if(!(prop.flags & UNICAP_FLAGS_READ_ONLY))
writeable.set(prop.identifier, typ);
#warning check UNICAP_FLAGS_ON_OFF & UNICAP_FLAGS_ONE_PUSH
}
}
return true;
}
开发者ID:Jackovic,项目名称:Gem,代码行数:58,代码来源:videoUNICAP.cpp
示例5: getProperties
void imageBase :: getProperties(gem::Properties&props) {
// nada
std::vector<std::string>keys=props.keys();
unsigned int i=0;
for(i=0; i<keys.size(); i++) {
gem::any unset;
props.set(keys[i], unset);
}
}
开发者ID:jptrkz,项目名称:Gem,代码行数:9,代码来源:imageBase.cpp
示例6: setParameters
void setParameters(gem::Properties&parms) {
unsigned int i=0;
for(i=0; i<m_parameterNames.size(); i++) {
std::string key=m_parameterNames[i];
std::string s1, s2;
double d1, d2;
switch(m_parameter.type(key)) {
case gem::Properties::NONE:
if(gem::Properties::NONE==parms.type(key)) {
parms.erase(key);
setParameter(i);
}
break;
case gem::Properties::DOUBLE:
if(m_parameter.get(key, d1) && parms.get(key, d2)) {
if(d1!=d2) {
m_parameter.set(key, d2);
setParameter(i, d2);
}
}
break;
case gem::Properties::STRING:
if(m_parameter.get(key, s1) && parms.get(key, s2)) {
if(s1!=s2) {
m_parameter.set(key, s2);
setParameter(i, s2);
}
}
break;
default: break;
}
}
}
开发者ID:ch-nry,项目名称:Gem,代码行数:33,代码来源:pix_freeframe.cpp
示例7: getWriteCapabilities
void imageMAGICK::getWriteCapabilities(std::vector<std::string>&mimetypes, gem::Properties&props) {
mimetypes.clear();
props.clear();
mimetypes = m_mimetypes;
gem::any value;
value=100.f;
props.set("quality", value);
}
开发者ID:rfabbri,项目名称:Gem,代码行数:11,代码来源:imageMAGICK.cpp
示例8: getWriteCapabilities
void imageJPEG::getWriteCapabilities(std::vector<std::string>&mimetypes, gem::Properties&props) {
mimetypes.clear();
props.clear();
mimetypes.push_back("image/jpeg");
mimetypes.push_back("image/pjpeg");
gem::any value;
value=100.f;
props.set("quality", value);
}
开发者ID:Jackovic,项目名称:Gem,代码行数:12,代码来源:imageJPEG.cpp
示例9: enumProperties
bool videoVFW :: enumProperties(gem::Properties&readable, gem::Properties&writeable) {
readable.clear();
writeable.clear();
gem::any type=0;
writeable.set("width", type);
writeable.set("height", type);
return true;
}
开发者ID:rfabbri,项目名称:Gem,代码行数:12,代码来源:videoVFW.cpp
示例10: getProperties
void videoDECKLINK::getProperties(gem::Properties&props)
{
std::vector<std::string>keys=props.keys();
unsigned int i;
for(i=0; i<keys.size(); i++) {
if("width"==keys[i]) {
props.set(keys[i], m_pixBlock.image.xsize);
}
if("height"==keys[i]) {
props.set(keys[i], m_pixBlock.image.ysize);
}
}
}
开发者ID:umlaeute,项目名称:Gem,代码行数:13,代码来源:videoDECKLINK.cpp
示例11: setProperties
void modelASSIMP3 :: setProperties(gem::Properties&props) {
double d;
#if 0
std::vector<std::string>keys=props.keys();
unsigned int i;
for(i=0; i<keys.size(); i++) {
post("key[%d]=%s ... %d", i, keys[i].c_str(), props.type(keys[i]));
}
#endif
std::string s;
if(props.get("textype", s)) {
// if there are NO texcoords, we only accept 'linear' and 'spheremap'
// else, we also allow 'UV'
// not-accepted textype, simply use the last one
if(m_have_texcoords && "UV" == s)
m_textype = "";
else
if(("linear" == s) || ("spheremap" == s))
m_textype = s;
m_rebuild = true;
}
if(props.get("rescale", d)) {
bool b=(bool)d;
if(b) {
float tmp;
tmp = m_max.x-m_min.x;
tmp = aisgl_max(m_max.y - m_min.y,tmp);
tmp = aisgl_max(m_max.z - m_min.z,tmp);
m_scale = 2.f / tmp;
m_offset.x=-m_center.x;
m_offset.y=-m_center.y;
m_offset.z=-m_center.z;
} else {
// FIXXME shouldn't this be the default???
m_scale=1.;
m_offset.x=m_offset.y=m_offset.z=0.f;
}
}
if(props.get("usematerials", d)) {
bool useMaterial=d;
if(useMaterial!=m_useMaterial)
m_rebuild=true;
m_useMaterial=useMaterial;
}
render();
}
开发者ID:avilleret,项目名称:Gem,代码行数:51,代码来源:modelASSIMP3.cpp
示例12: getWriteCapabilities
void imageQT::getWriteCapabilities(std::vector<std::string>&mimetypes, gem::Properties&props) {
mimetypes.clear();
props.clear();
std::map<std::string, OSType>::iterator it;
for(it = s_mime2type.begin(); it!=s_mime2type.end(); ++it) {
mimetypes.push_back(it->first);
}
gem::any value;
value=100.f;
props.set("quality", value);
}
开发者ID:Jackovic,项目名称:Gem,代码行数:14,代码来源:imageQT.cpp
示例13: estimateSave
float imageTIFF::estimateSave(const imageStruct&img, const std::string&filename, const std::string&mimetype, const gem::Properties&props) {
float result=0;
if(mimetype == "image/tiff" || mimetype == "image/x-tiff")
result += 100;
if(gem::Properties::UNSET != props.type("xresolution"))result+=1.;
if(gem::Properties::UNSET != props.type("yresolution"))result+=1.;
if(gem::Properties::UNSET != props.type("resolutionunit"))result+=1.;
if(gem::Properties::UNSET != props.type("software"))result+=1.;
if(gem::Properties::UNSET != props.type("artist"))result+=1.;
if(gem::Properties::UNSET != props.type("hostcomputer"))result+=1.;
return result;
}
开发者ID:Jackovic,项目名称:Gem,代码行数:14,代码来源:imageTIFF.cpp
示例14: getProperties
void filmTEST::getProperties(gem::Properties&props) {
std::vector<std::string> keys=props.keys();
unsigned int i=0;
for(i=0; i<keys.size(); i++) {
std::string key=keys[i];
props.erase(key);
#define SETPROP(k, v) } else if(k == key) { double d=(double)v; props.set(key, v)
if(""==key) {
SETPROP("fps", m_fps);
SETPROP("frames", m_numFrames);
SETPROP("width", m_image.image.xsize);
SETPROP("height", m_image.image.ysize);
}
}
}
开发者ID:Jackovic,项目名称:Gem,代码行数:15,代码来源:filmTEST.cpp
示例15: enumProperties
virtual bool enumProperties(gem::Properties&readable,
gem::Properties&writeable) {
// LATER: shouldn't we merge properties of all handles?
#ifdef __GNUC__
# warning enumProperties stub
#endif
readable.clear();
writeable.clear();
if(m_handle)
return m_handle->enumProperties(readable, writeable);
return false;
}
开发者ID:avilleret,项目名称:Gem,代码行数:15,代码来源:modelloader.cpp
示例16:
void filmQT4L::setProperties(gem::Properties&props)
{
double d;
if(props.get("colorspace", d)) {
m_wantedFormat=d;
}
}
开发者ID:umlaeute,项目名称:Gem,代码行数:7,代码来源:filmQT4L.cpp
示例17: open
/////////////////////////////////////////////////////////
// really open the file ! (OS dependent)
//
/////////////////////////////////////////////////////////
bool filmQT4L :: open(const std::string&filename,
const gem::Properties&wantProps)
{
int wantedFormat=GEM_RGBA;
double d;
unsigned int format=0;
if(wantProps.get("format", d)) {
format=d;
}
switch(format) {
default:
break;
case GEM_RGBA:
case GEM_YUV:
case GEM_GRAY:
m_wantedFormat=format;
break;
}
char*cfilename=const_cast<char*>(filename.c_str());
if (quicktime_check_sig(cfilename)) { /* ok, this is quicktime */
if (!(m_quickfile = quicktime_open(filename.c_str(), 1, 0))) {
verbose(0, "[GEM:filmQT4L] Unable to open file: %s", filename.c_str());
return false;
}
m_curFrame = -1;
// Get the number of tracks
m_numTracks = quicktime_video_tracks(m_quickfile);
// Get the length of the movie (on track current track)
m_numFrames = quicktime_video_length(m_quickfile, m_curTrack);
// Get the frame-rate
m_fps = quicktime_frame_rate(m_quickfile, m_curTrack);
// Get the video dimensions
m_image.image.xsize = quicktime_video_width (m_quickfile, m_curTrack);
m_image.image.ysize = quicktime_video_height(m_quickfile, m_curTrack);
if (!quicktime_supported_video(m_quickfile, m_curTrack)) {
char *codec = quicktime_video_compressor(m_quickfile, m_curTrack);
verbose(0, "[GEM:filmQT4L] unsupported CODEC '%s'!", codec);
quicktime_close(m_quickfile);
m_quickfile=0;
return false;
}
m_image.image.setCsizeByFormat(wantedFormat);
m_image.image.reallocate();
m_qtimage.xsize=m_image.image.xsize;
m_qtimage.ysize=m_image.image.ysize;
m_qtimage.setCsizeByFormat(GEM_RGB);
m_qtimage.reallocate();
m_newfilm = true;
return true;
}
goto unsupported;
unsupported:
close();
return false;
}
开发者ID:umlaeute,项目名称:Gem,代码行数:63,代码来源:filmQT4L.cpp
示例18: setProperties
void videoVFW :: setProperties(gem::Properties&props) {
double d;
bool dorestart=false;
if (props.get("width", d)) {
m_width=d;
dorestart=true;
}
if (props.get("height", d)) {
m_height=d;
dorestart=true;
}
if(dorestart && m_hWndC)
reset();
}
开发者ID:rfabbri,项目名称:Gem,代码行数:17,代码来源:videoVFW.cpp
示例19:
void filmQT4L::getProperties(gem::Properties&props) {
std::vector<std::string> keys=props.keys();
gem::any value;
double d;
unsigned int i=0;
for(i=0; i<keys.size(); i++) {
std::string key=keys[i];
props.erase(key);
if("fps"==key) {
d=m_fps;
value=d; props.set(key, value);
}
if("frames"==key) {
d=m_numFrames;
value=d; props.set(key, value);
}
if("tracks"==key) {
d=m_numTracks;
value=d; props.set(key, value);
}
if("width"==key) {
d=m_image.image.xsize;
value=d; props.set(key, value);
}
if("height"==key) {
d=m_image.image.ysize;
value=d; props.set(key, value);
}
}
}
开发者ID:Jackovic,项目名称:Gem,代码行数:30,代码来源:filmQT4L.cpp
示例20: getProperties
virtual void getProperties(gem::Properties&props) {
std::vector<std::string> ids;
if(props.type("backends")!=gem::Properties::UNSET) {
unsigned int i;
for(i=0; i<m_ids.size(); i++) {
ids.push_back(m_ids[i]);
}
}
props.erase("backends");
if(m_handle)
m_handle->getProperties(props);
else
props.clear();
if(!ids.empty()) {
props.set("backends", ids);
}
}
开发者ID:avilleret,项目名称:Gem,代码行数:19,代码来源:modelloader.cpp
注:本文中的gem::Properties类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论