当前位置: 首页>>代码示例>>C++>>正文


C++ ofAbstractParameter类代码示例

本文整理汇总了C++中ofAbstractParameter的典型用法代码示例。如果您正苦于以下问题:C++ ofAbstractParameter类的具体用法?C++ ofAbstractParameter怎么用?C++ ofAbstractParameter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了ofAbstractParameter类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: serialize

void ofXml::serialize(const ofAbstractParameter & parameter){
	if(!parameter.isSerializable()) return;
	string name = parameter.getEscapedName();
	if(name=="") name="UnknownName";
	if(parameter.type()==typeid(ofParameterGroup).name()){
		const ofParameterGroup & group = static_cast<const ofParameterGroup&>(parameter);
		if(!exists(name)){
			addChild(name);
			ofLogVerbose("ofXml") << "creating group " << name;
		}
		setTo(name);
		ofLogVerbose("ofXml") << "group " << name;
		for(int i=0;i<group.size();i++){
			serialize(group.get(i));
		}
		ofLogVerbose("ofXml") << "end group " << name;
		setToParent();
	}else{
		string value = parameter.toString();
		if(!exists(name)){
			addChild(name);
			ofLogVerbose("ofXml") << "creating tag " << name;
		}
		ofLogVerbose("ofXml") << "setting tag " << name << ": " << value;
		setValue(name,value);
	}
}
开发者ID:8morikazuto,项目名称:openFrameworks,代码行数:27,代码来源:ofXml.cpp

示例2: parameterChanged

void OscController::parameterChanged(ofAbstractParameter & parameter){
    string paramName = getParameterName(parameter);
    string address = getAddressByParamName(paramName);
    
    if(address == ""){
        return;
    }
    
    ofxOscMessage msg;
    msg.setAddress(address);
    
    // NOTE: all parameters are sent as float args
    if(parameter.type()==typeid(ofParameter<int>).name()){
        //msg.addFloatArg(parameter.cast<int>());
        ofParameter<int> & p = parameter.cast<int>();
        msg.addFloatArg( ofMap(p.get(), p.getMin(), p.getMax(), 0.0, 1.0) );
    }else if(parameter.type()==typeid(ofParameter<float>).name()){
        //msg.addFloatArg(parameter.cast<float>());
        ofParameter<float> & p = parameter.cast<float>();
        msg.addFloatArg( ofMap(p.get(), p.getMin(), p.getMax(), 0.0, 1.0) );
    }else if(parameter.type()==typeid(ofParameter<bool>).name()){
        msg.addFloatArg(parameter.cast<bool>());
    }
    
    // send message
//    for (int i = 0; i < oscOut.size(); i++) {
//        oscOut[i]->sendMessage(msg);
//    }
    
    //senderTouchOSC.sendMessage(msg);
    senderVezer.sendMessage(msg);
}
开发者ID:mimetikxs,项目名称:oscMapper,代码行数:32,代码来源:OscController.cpp

示例3: ofSerialize

void ofSerialize(ofXml & xml, const ofAbstractParameter & parameter){
	if(!parameter.isSerializable()){
		return;
	}
	string name = parameter.getEscapedName();
	if(name == ""){
		name = "UnknownName";
	}
	ofXml child	= xml.findFirst(name);
	
	if(!child){
		child = xml.appendChild(name);
		ofLogVerbose("ofXml") << "creating group " << name;
	}
	if(parameter.type() == typeid(ofParameterGroup).name()){
		const ofParameterGroup & group = static_cast <const ofParameterGroup &>(parameter);
		
		ofLogVerbose("ofXml") << "group " << name;
		for(auto & p: group){
			ofSerialize(child, *p);
		}
		ofLogVerbose("ofXml") << "end group " << name;
	}else{
		string value = parameter.toString();
		child.set(value);
	}
}
开发者ID:chuckleplant,项目名称:openFrameworks,代码行数:27,代码来源:ofXml.cpp

示例4: addValue

//------------------------------------------------
bool guiValue::addValue(ofAbstractParameter &param){
    if( param.getParent() ){
        paramGroup.setName( param.getParent()->getName() );
    }
    
    paramGroup.add(param);
    return true;
}
开发者ID:carlesgutierrez,项目名称:ofxControlPanel,代码行数:9,代码来源:guiValue.cpp

示例5: getParameterName

string OscController::getParameterName(ofAbstractParameter &parameter){
    string paramName = "";
    const vector<string> hierarchy = parameter.getGroupHierarchyNames();
    for(int i=0; i<(int)hierarchy.size()-1; i++){
        paramName += hierarchy[i] + ".";
    }
    paramName += parameter.getEscapedName();

    return paramName;
}
开发者ID:mimetikxs,项目名称:oscMapper,代码行数:10,代码来源:OscController.cpp

示例6: deserialize

void ofXml::deserialize(ofAbstractParameter & parameter){
	if(!parameter.isSerializable()) return;
	string name = parameter.getEscapedName();
	if(parameter.type()==typeid(ofParameterGroup).name()){
		ofParameterGroup & group = static_cast<ofParameterGroup&>(parameter);
		if(setTo(name)){
			for(int i=0;i<group.size();i++){
				deserialize(group.get(i));
			}
			setToParent();
		}
	}else{
		if(exists(name)){
			if(parameter.type()==typeid(ofParameter<int>).name()){
				parameter.cast<int>() = getIntValue(name);
			}else if(parameter.type()==typeid(ofParameter<float>).name()){
				parameter.cast<float>() = getFloatValue(name);
			}else if(parameter.type()==typeid(ofParameter<bool>).name()){
				parameter.cast<bool>() = getBoolValue(name);
			}else if(parameter.type()==typeid(ofParameter<int64_t>).name()){
				parameter.cast<int64_t>() = getInt64Value(name);
			}else if(parameter.type()==typeid(ofParameter<string>).name()){
				parameter.cast<string>() = getValue(name);
			}else{
				parameter.fromString(getValue(name));
			}
		}
	}

}
开发者ID:8morikazuto,项目名称:openFrameworks,代码行数:30,代码来源:ofXml.cpp

示例7: isMappeable

bool OscController::isMappeable(ofAbstractParameter & p) {
    // at the moment, there's no way to control multivalue parameters (colors, vectors, etc) with midi
    // a workarround would be exposing the color components (r,g,b) as individual parameters
    // eg: color1_r, color1_g, color1_b and color2_r, color2_g, color2_b
    if(p.type() == typeid(ofParameter<float>).name()
       || p.type() == typeid(ofParameter<int>).name()
       || p.type() == typeid(ofParameter<bool>).name()){
        return true;
    }
    return false;
}
开发者ID:mimetikxs,项目名称:oscMapper,代码行数:11,代码来源:OscController.cpp

示例8: swapPositions

void ofParameterGroup::swapPositions(ofAbstractParameter & param1, ofAbstractParameter & param2){
	auto iter = obj->parametersIndex.find(param1.getName());
	if (iter != obj->parametersIndex.end()){
		auto iter2 = obj->parametersIndex.find(param2.getName());
		if(iter != obj->parametersIndex.end())
		{
			swapPositions(obj->parametersIndex[param1.getName()], obj->parametersIndex[param2.getName()]);
		}
	}

}
开发者ID:c-mendoza,项目名称:openFrameworks,代码行数:11,代码来源:ofParameterGroup.cpp

示例9: appendParameter

void ofxOscSender::appendParameter( ofxOscMessage & msg, const ofAbstractParameter & parameter, string address){
	msg.setAddress(address+parameter.getEscapedName());
	if(parameter.type()==typeid(ofParameter<int>).name()){
		msg.addIntArg(parameter.cast<int>());
	}else if(parameter.type()==typeid(ofParameter<float>).name()){
		msg.addFloatArg(parameter.cast<float>());
	}else if(parameter.type()==typeid(ofParameter<bool>).name()){
		msg.addIntArg(parameter.cast<bool>());
	}else{
		msg.addStringArg(parameter.toString());
	}
}
开发者ID:CLOUDS-Interactive-Documentary,项目名称:openFrameworks,代码行数:12,代码来源:ofxOscSender.cpp

示例10: ofDeserialize

void ofDeserialize(const ofXml & xml, ofAbstractParameter & parameter){
	if(!parameter.isSerializable()){
		return;
	}
	string name = parameter.getEscapedName();
	
	ofXml child = xml.findFirst(name);
	if(child){
		if(parameter.type() == typeid(ofParameterGroup).name()){
			ofParameterGroup & group = static_cast <ofParameterGroup &>(parameter);
			for(auto & p: group){
				ofDeserialize(child, *p);
			}
		}else{
			if(parameter.type() == typeid(ofParameter <int> ).name()){
				parameter.cast <int>() = child.getIntValue();
			}else if(parameter.type() == typeid(ofParameter <float> ).name()){
				parameter.cast <float>() = child.getFloatValue();
			}else if(parameter.type() == typeid(ofParameter <bool> ).name()){
				parameter.cast <bool>() = child.getBoolValue();
			}else if(parameter.type() == typeid(ofParameter <string> ).name()){
				parameter.cast <string>() = child.getValue();
			}else{
				parameter.fromString(child.getValue());
			}
		}
	}
}
开发者ID:chuckleplant,项目名称:openFrameworks,代码行数:28,代码来源:ofXml.cpp

示例11: deserialize

void ofxXmlSettings::deserialize(ofAbstractParameter & parameter){
	if(!parameter.isSerializable()) return;
	string name = parameter.getEscapedName();
	if(parameter.type()==typeid(ofParameterGroup).name()){
		ofParameterGroup & group = static_cast<ofParameterGroup&>(parameter);
		if(tagExists(name)){
			pushTag(name);
			for(int i=0;i<group.size();i++){
				deserialize(group.get(i));
			}
			popTag();
		}
	}else{
		if(tagExists(name)){
			if(parameter.type()==typeid(ofParameter<int>).name()){
				parameter.cast<int>() = getValue(name,0);
			}else if(parameter.type()==typeid(ofParameter<float>).name()){
				parameter.cast<float>() = getValue(name,0.0f);
			}else if(parameter.type()==typeid(ofParameter<bool>).name()){
				parameter.cast<bool>() = getValue(name,false);
			}else if(parameter.type()==typeid(ofParameter<string>).name()){
				parameter.cast<string>() = getValue(name,"");
			}else{
				parameter.fromString(getValue(name,""));
			}
		}
	}

}
开发者ID:AnnaKolla,项目名称:openFrameworks,代码行数:29,代码来源:ofxXmlSettings.cpp

示例12: remove

void ofParameterGroup::remove(ofAbstractParameter &param){
	std::for_each(obj->parameters.begin(), obj->parameters.end(), [&](shared_ptr<ofAbstractParameter>& p){
		if(p->isReferenceTo(param)){
			remove(param.getName());
		}
	});
}
开发者ID:RebelMoogle,项目名称:openFrameworks,代码行数:7,代码来源:ofParameterGroup.cpp

示例13: remove

void ofParameterGroup::remove(ofAbstractParameter &param){
	for(auto & p: obj->parameters){
		if(p->isReferenceTo(param)){
			remove(param.getName());
			return;
		}
	}
}
开发者ID:2bbb,项目名称:openFrameworks,代码行数:8,代码来源:ofParameterGroup.cpp

示例14: onSettingChanged

void audioVisualApp::onSettingChanged(ofAbstractParameter &p) {
    string name = p.getName();
    if(name == "Play!") {
        if(outputOn) {
            soundPlayer->play();
        }
    }
}
开发者ID:HellicarAndLewis,项目名称:LectureVisualisation,代码行数:8,代码来源:audioVisualApp.cpp

示例15: paramsChanged

//--------------------------------------------------------------
void PartyCLApp::paramsChanged(ofAbstractParameter& param)
{
    string paramName = param.getName();

    if (paramName == clusterScale.getName() ||
            paramName == velocityScale.getName()) {
        bReset = true;
    }
}
开发者ID:Entropy,项目名称:Entropy,代码行数:10,代码来源:PartyCLApp.cpp


注:本文中的ofAbstractParameter类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。