Пример #1
0
int main(int argc, char** argv)
{
    for (int i = 0; i < argc; i++)
	{
		std::string strParam(argv[i]);
		if (strParam.compare("--help") == 0 || strParam.compare("-h") == 0)
		{
			printHelp();
            return 0;
		}
	}
    std::cout << "INITIALIZING INVERSE KINEMATICS GEOMETRIC BY MARCOSOFT... " << std::endl;
    ros::init(argc, argv, "low_level_moves");
    ros::NodeHandle n;
    ros::ServiceServer srvSrvIKFloatArray = n.advertiseService("/manipulation/ik_geometric/ik_float_array", callbackInverseKinematicsFloatArray);
    ros::ServiceServer srvSrvIKPath = n.advertiseService("/manipulation/ik_geometric/ik_path", callbackInverseKinematicsPath);
    ros::ServiceServer srvSrvIKPose = n.advertiseService("/manipulation/ik_geometric/ik_pose", callbackInverseKinematicsPose);
    ros::ServiceServer srvSrvDirectKin = n.advertiseService("/manipulation/ik_geometric/direct_kinematics", callbackDirectKinematics);
    ros::Rate loop(10);

    while(ros::ok())
    {
        ros::spinOnce();
        loop.sleep();
    }
    return 0;
}
Пример #2
0
void CHLCmdInfo::ParseParam(LPCTSTR lpszParam, BOOL bFlag, BOOL bLast)
{
	CCommandLineInfo::ParseParam(lpszParam, bFlag, bLast);
	CString strParam(lpszParam);

	strParam.MakeLower();
	if ( strParam.Find("udpport=") != -1 )
		{
		strParam.Delete(0,strParam.Find('=')+1);
		m_nPort = atoi(strParam);
		}
	else if ( strParam.Find("logs=") != -1 )
		{
		strParam.Delete(0,strParam.Find('=')+1);
		if ( strParam.CompareNoCase("true") == 0 )
			m_bGenerateLogs = TRUE;
		}
	else if ( strParam.Find("localip=") != -1 )
		{
		strParam.Delete(0,strParam.Find('=')+1);
		m_strLocalIPAddress = strParam;
		}
	else if ( strParam == "?" || strParam == "h" )
		m_bAskedForHelp = TRUE;
}
Пример #3
0
std::string CeIdObject::FindValue(std::string name, const XML_Char **papszAttrs)
{
	std::string returnValue = "";
	for (int i = 0; papszAttrs[i]; i += 2) {
		std::string strParam(papszAttrs[i]);
		if (strcmp(name.c_str(), strParam.c_str()) == 0) {
			returnValue.assign(papszAttrs[i + 1]);
		}
	}

	return returnValue;
}
Пример #4
0
void CSetPageBase::SetTidyControl(LPCTSTR lpszTidy, int nPos, int nSize)
{
	if (lpszTidy[nPos] != '-' || nSize < 2)
	{
		return;
	}

	CString strTextParam(lpszTidy + nPos + 1, nSize - 1);
	int nPosFlag = strTextParam.Find(STR_SHORT_TEXT_FALG);
	if (nPosFlag > 0)
	{
		CString strBstrValue(strTextParam.Mid(nPosFlag + 1));
		strTextParam = strTextParam.Left(nPosFlag);
		SetTidyProp(strTextParam, (LPCTSTR)strBstrValue);
	}
	else
	{
		int nNumValue = nSize;
		for (int i = nPos + 1; i < nPos + nSize; ++i)
		{
			if (!_istalpha(lpszTidy[i]))
			{
				nNumValue = i - nPos;
				break;
			}
		}
		CString strParam(lpszTidy + nPos + 1, nNumValue - 1);
		if (nNumValue != nSize)
		{
			CString strNum(lpszTidy + nPos + nNumValue, nSize - nNumValue);
			nNumValue = _ttoi(strNum);
		}
		else
		{
			nNumValue = INT_MIN;
		}

		if (!SetTidyProp(strParam, nNumValue))
		{
			strParam.AppendFormat(_T("%d"), nNumValue);
			SetTidyProp(strParam, nNumValue);
		}
	}
}
Пример #5
0
void RenJS::parseMove(const CString& strMove)
{
	Node node(this);

	int left  = 0;
	int right = strMove.Find(";");

	while (left < right)
	{
		CString strParam(strMove.Mid(left, right - left));

		parseParam(strParam, node);
		
		left  = right + 1;
		right = strMove.Find(";", left);
	}

	mMoves.push_back(node);
}
Пример #6
0
void CHttpHeader::Parse(const std::string& strData)
{
  if (m_headerdone)
    Clear();

  size_t pos = 0;
  const size_t len = strData.length();
  while (pos < len)
  {
    const size_t valueStart = strData.find(':', pos);
    const size_t lineEnd = strData.find("\r\n", pos);

    if (lineEnd == std::string::npos)
      break;

    if (lineEnd == pos)
    {
      m_headerdone = true;
      break;
    }
    else if (valueStart != std::string::npos && valueStart < lineEnd)
    {
      std::string strParam(strData, pos, valueStart - pos);
      std::string strValue(strData, valueStart + 1, lineEnd - valueStart - 1);

      StringUtils::Trim(strParam);
      StringUtils::ToLower(strParam);

      StringUtils::Trim(strValue);

      if (!strParam.empty() && !strValue.empty())
        m_params.push_back(HeaderParams::value_type(strParam, strValue));
    }
    else if (m_protoLine.empty())
      m_protoLine.assign(strData, pos, lineEnd - pos);

    pos = lineEnd + 2;
  }
}
Пример #7
0
bool CHttpHeader::ParseLine(const std::string& headerLine)
{
  const size_t valueStart = headerLine.find(':');

  if (valueStart != std::string::npos)
  {
    std::string strParam(headerLine, 0, valueStart);
    std::string strValue(headerLine, valueStart + 1);

    StringUtils::Trim(strParam, m_whitespaceChars);
    StringUtils::ToLower(strParam);

    StringUtils::Trim(strValue, m_whitespaceChars);

    if (!strParam.empty() && !strValue.empty())
      m_params.push_back(HeaderParams::value_type(strParam, strValue));
    else
      return false;
  }
  else if (m_protoLine.empty())
    m_protoLine = headerLine;

  return true;
}
Пример #8
0
void CPostEffectConverter::ConvertFunctorArgsStrToIndex(
    const std::vector<izanagi::tool::CString>& tvFunctorArgSList,
    izanagi::S_PES_PASS_ANN& sParamAnn)
{
    std::vector<CGparameter> tvAllParamList;
    {
        tvAllParamList.reserve(
            m_TexList.size()
            + m_SamplerList.size()
            + m_ParamList.size());

        tvAllParamList.insert(tvAllParamList.end(), m_TexList.begin(), m_TexList.end());
        tvAllParamList.insert(tvAllParamList.end(), m_SamplerList.begin(), m_SamplerList.end());
        tvAllParamList.insert(tvAllParamList.end(), m_ParamList.begin(), m_ParamList.end());
    }

    IZ_UINT nPos = 0;

    IZ_UINT nParamIdx = 0;
    IZ_UINT nTexIdx = 0;
    IZ_UINT nSamplerIdx = 0;

    for (size_t nParamPos = 0; nParamPos < tvAllParamList.size(); nParamPos++) {
        CGparameter param = tvAllParamList[nParamPos];
        izanagi::tool::CString strParam(::cgGetParameterName(param));

        IZ_BOOL bIsFind = (std::find(
                            tvFunctorArgSList.begin(),
                            tvFunctorArgSList.end(),
                            strParam) != tvFunctorArgSList.end());

        if (bIsFind) {
            if (CParamUtil::IsParameter(param)) {
                sParamAnn.FunctorArgs[nPos++] = static_cast<IZ_FLOAT>(nParamIdx);
            }
            else if (CParamUtil::IsTexture(param)) {
                sParamAnn.FunctorArgs[nPos++] = static_cast<IZ_FLOAT>(nTexIdx);
            }
            else if (CParamUtil::IsSampler(param)) {
                sParamAnn.FunctorArgs[nPos++] = static_cast<IZ_FLOAT>(nSamplerIdx);
            }
        }

        if (nPos >= izanagi::PES_FUNCTOR_ARGS_NUM) {
            goto __EXIT__;
        }

        if (CParamUtil::IsParameter(param)) {
            nParamIdx++;
        }
        else if (CParamUtil::IsTexture(param)) {
            nTexIdx++;
        }
        else if (CParamUtil::IsSampler(param)) {
            nSamplerIdx++;
        }
    }

__EXIT__:
    return;
}
Пример #9
0
void CeIdObject::OnStartElement(const XML_Char *pszName, const XML_Char **papszAttrs)
{
	m_strCurrentElement.assign(pszName);
	std::string  strParamName = "";
	std::string  strParamValue = "";

	//HTML Form
	if (strcmp(m_strCurrentElement.c_str(), "form") == 0) {
		for (int i = 0; papszAttrs[i]; i += 2) {
			std::string  strParam(papszAttrs[i]);

			if (strcmp(strParam.c_str(), "action") == 0) {
				m_strAction.assign(papszAttrs[i + 1]);

			} else if (strcmp(strParam.c_str(), "method") == 0) {
				m_strMethod.assign(papszAttrs[i + 1]);
			}
		}
		return;
	}

	if(SAML_VERSION == testcase_arg_Selbstauskunft_Wuerzburg){
		//Input
		if (strcmp(m_strCurrentElement.c_str(), "input") == 0) {
			std::string type = "";
			for (int i = 0; papszAttrs[i]; i += 2) {
				std::string  strParam(papszAttrs[i]);

				type.assign(FindValue("type", papszAttrs).c_str());

				if (strcmp(type.c_str(), "hidden") == 0) {
					//Add name, value
					AddData(FindValue("name", papszAttrs), FindValue("value", papszAttrs));
				}

				if(strcmp(type.c_str(), "submit") == 0 &&
					strcmp(FindValue("value", papszAttrs).c_str(), m_submit.c_str()) == 0){
					//Add name, value
					if(strcmp(FindValue("name", papszAttrs).c_str(), "") != 0){
						AddData(FindValue("name", papszAttrs), FindValue("value", papszAttrs));
					}
				}

				if (strcmp(type.c_str(), "checkbox") == 0) {
					//Add name, value
					AddData(FindValue("name", papszAttrs), "on");
				}

			}
			return;
		}
	}
	
	//Object Tag
	else if (strcmp(m_strCurrentElement.c_str(), "param") == 0) {
		for (int i = 0; papszAttrs[i]; i += 2) {
			std::string  strParam(papszAttrs[i]);

			if (strcmp(strParam.c_str(), "name") == 0) {
				strParamName.assign(papszAttrs[i + 1]);

			} else if (strcmp(strParam.c_str(), "value") == 0) {
				if (strcmp(strParamName.c_str(), "SessionIdentifier") == 0) {
					m_strSessionID.assign(papszAttrs[i + 1]);

				} else if (strcmp(strParamName.c_str(), "PathSecurity-Parameters") == 0) {
					m_strPSK.assign(papszAttrs[i + 1]);

				} else if (strcmp(strParamName.c_str(), "RefreshAddress") == 0) {
					m_strRefreshAddress.assign(papszAttrs[i + 1]);

				} else if (strcmp(strParamName.c_str(), "ServerAddress") == 0) {
					m_strServerAddress.assign(papszAttrs[i + 1]);
				}
			}
		}
		return;
	}

	//SP XML
	else if (strcmp(m_strCurrentElement.c_str(), "input") == 0) {
		for (int i = 0; papszAttrs[i]; i += 2) {
			std::string  strParam(papszAttrs[i]);

			if (strcmp(strParam.c_str(), "type") == 0) {
				//              strParamName.assign(papszAttrs[i+1]);
			} else if (strcmp(strParam.c_str(), "name") == 0) {
				strParamName.assign(papszAttrs[i + 1]);

			} else if (strcmp(strParam.c_str(), "value") == 0) {
				if (strcmp(strParamName.c_str(), "SAMLRequest") == 0) {
					m_strSAMLRequest.assign(papszAttrs[i + 1]);

				} else if (strcmp(strParamName.c_str(), "SigAlg") == 0) {
					m_strSigAlg.assign(papszAttrs[i + 1]);

				} else if (strcmp(strParamName.c_str(), "Signature") == 0) {
					m_strSignature.assign(papszAttrs[i + 1]);

				} else if (strcmp(strParamName.c_str(), "RelayState") == 0) {
					m_strRelayState.assign(papszAttrs[i + 1]);

				} else if (strcmp(strParamName.c_str(), "SAMLResponse") == 0) {
					m_strSAMLResponse.assign(papszAttrs[i + 1]);
				}
			}
		}
	}
}
Пример #10
0
int main(int argc, char** argv)
{
    std::string file_name = "";
    use_oni = false;
    use_bag = false;
    for(int i=0; i < argc; i++)
    {
        std::string strParam(argv[i]);
        if(strParam.compare("--oni") == 0)
        {
            use_oni = true;
            file_name = argv[++i];
        }
        if(strParam.compare("--bag") == 0)
        {
            use_bag = true;
            file_name = argv[++i];
        }
        if(strParam.compare("--downsample_by") == 0)
        {
            downsample_by = atoi(argv[++i]); 
        }
    }
    
    std::cout << "INITIALIZING KINECT MANAGER BY MARCOSOF ..." << std::endl;
    if(use_oni) std::cout << "KinectMan.->Using ONI file: " << file_name << std::endl;
    else if(use_bag) std::cout << "KinectMan.->Using BAG file: " << file_name << std::endl;
    else std::cout << "KinectMan.->Using real kinect..." << std::endl;
    
    ros::init(argc, argv, "kinect_man");
    ros::NodeHandle n;
    ros::Publisher pubKinectFrame =n.advertise<sensor_msgs::PointCloud2>("/hardware/point_cloud_man/rgbd_wrt_kinect",1);
    ros::Publisher pubRobotFrame  =n.advertise<sensor_msgs::PointCloud2>("/hardware/point_cloud_man/rgbd_wrt_robot", 1);
    ros::Publisher pubDownsampled =n.advertise<sensor_msgs::PointCloud2>("/hardware/point_cloud_man/rgbd_wrt_robot_downsampled",1);
    ros::ServiceServer srvRgbdKinect = n.advertiseService("/hardware/point_cloud_man/get_rgbd_wrt_kinect", kinectRgbd_callback);
    ros::ServiceServer srvRgbdRobot  = n.advertiseService("/hardware/point_cloud_man/get_rgbd_wrt_robot", robotRgbd_callback);
    ros::ServiceServer srvRgbdKinectDownsampled  = n.advertiseService("/hardware/point_cloud_man/get_rgbd_wrt_kinect_downsampled", kinectRgbdDownsampled_callback);
    ros::ServiceServer srvRgbdRobotDownsampled  = n.advertiseService("/hardware/point_cloud_man/get_rgbd_wrt_robot_downsampled", robotRgbdDownsampled_callback);
    sensor_msgs::PointCloud2 msgCloudKinect;
    sensor_msgs::PointCloud2 msgCloudRobot; 
    sensor_msgs::PointCloud2 msgDownsampled;
    tf_listener = new tf::TransformListener();
    ros::Rate loop(30);
    tf_listener->waitForTransform("base_link", "kinect_link", ros::Time(0), ros::Duration(10.0));
    initialize_rosmsg(msgCloudKinect, 640, 480, "kinect_link");
    int widthDownSample = (int) (640 / downsample_by);
    int heightDownSample = (int) (480 / downsample_by);
    initialize_rosmsg(msgDownsampled, widthDownSample, heightDownSample, "base_link");

    if(!use_bag)
    {
        cv::VideoCapture capture;
        if(use_oni) std::cout << "KinectMan.->Trying to open oni file: " << file_name << std::endl;
        else std::cout << "KinectMan.->Triying to initialize kinect sensor... " << std::endl;
        if(use_oni) capture.open(file_name);
        else capture.open(CV_CAP_OPENNI);
        
        if(!capture.isOpened())
        {
            std::cout << "KinectMan.->Cannot open kinect :'(" << std::endl;
            return 1;
        }
        capture.set(CV_CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION, CV_CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION_ON);
        std::cout << "KinectMan.->Kinect sensor started :D" << std::endl;
        
        while(ros::ok())
        {
            if(!capture.grab())
            {
                loop.sleep();
                //ros::spinOnce();
                continue;
            }
            capture.retrieve(depthMap, CV_CAP_OPENNI_POINT_CLOUD_MAP);
            capture.retrieve(bgrImage, CV_CAP_OPENNI_BGR_IMAGE);
            if(pubKinectFrame.getNumSubscribers()>0 || pubRobotFrame.getNumSubscribers()>0 || pubDownsampled.getNumSubscribers()>0)
                cvmat_2_rosmsg(depthMap, bgrImage, msgCloudKinect);
            if(pubRobotFrame.getNumSubscribers()>0 || pubDownsampled.getNumSubscribers()>0)
                pcl_ros::transformPointCloud("base_link", msgCloudKinect, msgCloudRobot, *tf_listener);
            
            if(pubKinectFrame.getNumSubscribers() > 0)
                pubKinectFrame.publish(msgCloudKinect);
            if(pubRobotFrame.getNumSubscribers() > 0)
                pubRobotFrame.publish(msgCloudRobot);
            if(pubDownsampled.getNumSubscribers() > 0)
            {
                downsample_pcl(msgCloudRobot, msgDownsampled, downsample_by);
                pubDownsampled.publish(msgDownsampled);
            }
            
            ros::spinOnce();
            loop.sleep();
        }
    }
    else
    {
        rosbag::Bag bag;
        bag.open(file_name, rosbag::bagmode::Read);
        rosbag::View view(bag, rosbag::TopicQuery("/hardware/point_cloud_man/rgbd_wrt_kinect"));
        while(ros::ok())
        {
            foreach(rosbag::MessageInstance const m, view)
            {
                msgFromBag = m.instantiate<sensor_msgs::PointCloud2>();
                if(msgFromBag == NULL)
                {
                    loop.sleep();
                    continue;
                }
                msgFromBag->header.stamp = ros::Time::now();
                if(pubRobotFrame.getNumSubscribers()>0 || pubDownsampled.getNumSubscribers()>0)
                {
                    tf_listener->waitForTransform("base_link", "kinect_link", msgFromBag->header.stamp, ros::Duration(0.5));
                    pcl_ros::transformPointCloud("base_link", *msgFromBag, msgCloudRobot, *tf_listener);
                }
                
                if(pubKinectFrame.getNumSubscribers() > 0)
                    pubKinectFrame.publish(*msgFromBag);
                if(pubRobotFrame.getNumSubscribers() > 0)
                    pubRobotFrame.publish(msgCloudRobot);
                if(pubDownsampled.getNumSubscribers() > 0)
                {
                    downsample_pcl(msgCloudRobot, msgDownsampled, downsample_by);
                    pubDownsampled.publish(msgDownsampled);
                }
                ros::spinOnce();
                loop.sleep();
            }
        }
        bag.close();
    }
Пример #11
0
void HTidyInterface::SetTidyControl( TidyDoc tdoc, LPCTSTR lpszTidy, int nPos, int nSize )
{
	if (lpszTidy[nPos] != '-' || nSize < 2)
	{
		return;
	}

	int nNumValue = nSize;
	for (int i = nPos + 1; i < nPos + nSize; ++i)
	{
		if (!_istalpha(lpszTidy[i]))
		{
			nNumValue = i - nPos;
			break;
		}
	}
	CString strParam(lpszTidy + nPos + 1, nNumValue - 1);
	if (nNumValue != nSize)
	{
		CString strNum(lpszTidy + nPos + nNumValue, nSize - nNumValue);
		nNumValue = _ttoi(strNum);
	}
	else
	{
		nNumValue = 0;
	}
	CString strNumValue;
	strNumValue.Format(_T("%d"), nNumValue);

	CString strNothing;
	strNothing.Empty();
	if (_T("axd") == strParam)
	{
		tidyOptSetBool(tdoc, TidyXmlDecl, yes);
	} 
	else if (_T("axs") == strParam)
	{
		tidyOptSetBool(tdoc, TidyXmlSpace, yes);
	}
	else if (_T("aan") == strParam)
	{
		tidyOptSetBool(tdoc, TidyAnchorAsName, yes);
	}
	else if (_T("axp") == strParam)
	{
		tidyOptSetBool(tdoc, TidyXmlPIs, yes);
	}
	else if (_T("b") == strParam)
	{
		tidyOptSetBool(tdoc, TidyMakeBare, yes);
	}
	else if (_T("c") == strParam)
	{
		tidyOptSetBool(tdoc, TidyMakeClean, yes);
	}
	else if (_T("diu") == strParam)
	{
		tidyOptSetBool(tdoc, TidyDecorateInferredUL, yes);
	}
	else if (_T("dep") == strParam)
	{
		tidyOptSetBool(tdoc, TidyDropEmptyParas, yes);
	}
	else if (_T("dft") == strParam)
	{
		tidyOptSetBool(tdoc, TidyDropFontTags, yes);
	}
	else if (_T("dpa") == strParam)
	{
		tidyOptSetBool(tdoc, TidyDropPropAttrs, yes);
	}
	else if (_T("ebt") == strParam)
	{
		tidyOptSetBool(tdoc, TidyEncloseBlockText, yes);
	}
	else if (_T("et") == strParam)
	{
		tidyOptSetBool(tdoc, TidyEncloseBodyText, yes);
	}
	else if (_T("ec") == strParam)
	{
		tidyOptSetBool(tdoc, TidyEscapeCdata, yes);
	}
	else if (_T("fb") == strParam)
	{
		tidyOptSetBool(tdoc, TidyFixBackslash, yes);
	}
	else if (_T("fbc") == strParam)
	{
		tidyOptSetBool(tdoc, TidyFixComments, yes);
	}
	else if (_T("fu") == strParam)
	{
		tidyOptSetBool(tdoc, TidyFixUri, yes);
	}
	else if (_T("hc") == strParam)
	{
		tidyOptSetBool(tdoc, TidyHideComments, yes);
	}
	else if (_T("he") == strParam)
	{
		tidyOptSetBool(tdoc, TidyHideEndTags, yes);
	}
	else if (_T("ic") == strParam)
	{
		tidyOptSetBool(tdoc, TidyIndentCdata, yes);
	}
	else if (_T("ix") == strParam)
	{
		tidyOptSetBool(tdoc, TidyXmlTags, yes);
	}
	else if (_T("jc") == strParam)
	{
		tidyOptSetBool(tdoc, TidyJoinClasses, yes);
	}
	else if (_T("js") == strParam)
	{
		tidyOptSetBool(tdoc, TidyJoinStyles, yes);
	}
	else if (_T("la") == strParam)
	{
		tidyOptSetBool(tdoc, TidyLiteralAttribs, yes);
	}
	else if (_T("le") == strParam)
	{
		tidyOptSetBool(tdoc, TidyLogicalEmphasis, yes);
	}
	else if (_T("ll") == strParam)
	{
		tidyOptSetBool(tdoc, TidyLowerLiterals, yes);
	}
	else if (_T("n") == strParam)
	{
		tidyOptSetBool(tdoc, TidyNCR, yes);
	}
	else if (_T("ne") == strParam)
	{
		tidyOptSetBool(tdoc, TidyNumEntities, yes);
	}
	else if (_T("oh") == strParam)
	{
		tidyOptSetBool(tdoc, TidyHtmlOut, yes);
	}
	else if (_T("ox") == strParam)
	{
		tidyOptSetBool(tdoc, TidyXhtmlOut, yes);
	}
	else if (_T("oxm") == strParam)
	{
		tidyOptSetBool(tdoc, TidyXmlOut, yes);
	}
	else if (_T("pe") == strParam)
	{
		tidyOptSetBool(tdoc, TidyPreserveEntities, yes);
	}
	else if (_T("qa") == strParam)
	{
		tidyOptSetBool(tdoc, TidyQuoteAmpersand, yes);
	}
	else if (_T("qm") == strParam)
	{
		tidyOptSetBool(tdoc, TidyQuoteMarks, yes);
	}
	else if (_T("qn") == strParam)
	{
		tidyOptSetBool(tdoc, TidyQuoteNbsp, yes);
	}
	else if (_T("rc") == strParam)
	{
		tidyOptSetBool(tdoc, TidyReplaceColor, yes);
	}
	else if (_T("ua") == strParam)
	{
		tidyOptSetBool(tdoc, TidyUpperCaseAttrs, yes);
	}
	else if (_T("ut") == strParam)
	{
		tidyOptSetBool(tdoc, TidyUpperCaseTags, yes);
	}
	else if (_T("wo") == strParam)
	{
		tidyOptSetBool(tdoc, TidyWord2000, yes);
	}
	else if (_T("bbb") == strParam)
	{
		tidyOptSetBool(tdoc, TidyBreakBeforeBR, yes);
	} 
	else if (_T("ia") == strParam)
	{
		tidyOptSetBool(tdoc, TidyIndentAttributes, yes);
	}
	else if (_T("m") == strParam)
	{
		tidyOptSetBool(tdoc, TidyShowMarkup, yes);
	}
	else if (_T("pw") == strParam)
	{
		tidyOptSetBool(tdoc, TidyPunctWrap, yes);
	}
	else if (_T("vs") == strParam)
	{
		tidyOptSetBool(tdoc, TidyVertSpace, yes);
	}
	else if (_T("wa") == strParam)
	{
		tidyOptSetBool(tdoc, TidyWrapAsp, yes);
	}
	else if (_T("wat") == strParam)
	{
		tidyOptSetBool(tdoc, TidyWrapAttVals, yes);
	}
	else if (_T("wj") == strParam)
	{
		tidyOptSetBool(tdoc, TidyWrapJste, yes);
	}
	else if (_T("wp") == strParam)
	{
		tidyOptSetBool(tdoc, TidyWrapPhp, yes);
	}
	else if (_T("wsl") == strParam)
	{
		tidyOptSetBool(tdoc, TidyWrapScriptlets, yes);
	}
	else if (_T("ws") == strParam)
	{
		tidyOptSetBool(tdoc, TidyWrapSection, yes);
	}
	else if (_T("ac") == strParam)
	{
		tidyOptSetBool(tdoc, TidyAsciiChars, yes);
	}
	else if (_T("sw") == strParam)
	{
		tidyOptSetBool(tdoc, TidyShowWarnings, yes);
	}
	else if (_T("fo") == strParam)
	{
		tidyOptSetBool(tdoc, TidyForceOutput, yes);
	}
	else if (_T("i") == strParam)
	{
		tidyOptSetInt(tdoc, TidyIndentContent, abs(nNumValue - 2) % 3);
	}
	else if (_T("md") == strParam)
	{
		tidyOptSetInt(tdoc, TidyMergeDivs, abs(nNumValue - 2) % 3);
	}
	else if (_T("ms") == strParam)
	{
		tidyOptSetInt(tdoc, TidyMergeSpans, abs(nNumValue - 2) % 3);
	}
	else if (_T("sbo") == strParam)
	{
		tidyOptSetInt(tdoc, TidyBodyOnly, abs(nNumValue - 2) % 3);
	}
	else if (_T("d") == strParam)
	{
		tidyOptSetInt(tdoc, TidyDoctypeMode, nNumValue % 5);
	}
	else if (_T("ra") == strParam)
	{
		tidyOptSetInt(tdoc, TidyDuplicateAttrs, nNumValue % 2);
	}
	else if (_T("sa") == strParam)
	{
		tidyOptSetInt(tdoc, TidySortAttributes, nNumValue % 2);
	}
	else if (_T("ce") == strParam)
	{		
		tidySetCharEncoding(tdoc, GetEncodeByIndex(nNumValue));
	}
	else if (_T("ie") == strParam)
	{
		tidySetInCharEncoding(tdoc, GetEncodeByIndex(nNumValue));
	}
	else if (_T("oe") == strParam)
	{
		tidySetOutCharEncoding(tdoc, GetEncodeByIndex(nNumValue));
	}
	else if (_T("se") == strParam)
	{
		tidyOptSetInt(tdoc, TidyShowErrors, nNumValue);
	}
	else if (_T("is") == strParam)
	{
		tidyOptSetInt(tdoc, TidyIndentSpaces, nNumValue);
	}
	else if (_T("ts") == strParam)
	{
		tidyOptSetInt(tdoc, TidyTabSize, nNumValue);
	}
	else if (_T("w") == strParam)
	{
		tidyOptSetInt(tdoc, TidyWrapLen, nNumValue);
	}
	else if (_T("at") == strParam)
	{
		tidyOptSetValue(tdoc, TidyAltText, CT2A(m_onlyHtmlXml == SYN_HTML?g_GlobalTidy.m_TidyHtml_at:strNothing));
	}
	else if (_T("cp") == strParam)
	{
		tidyOptSetValue(tdoc, TidyCSSPrefix, CT2A(m_onlyHtmlXml == SYN_HTML?g_GlobalTidy.m_TidyHtml_cp:strNothing));
	}
	else if (_T("nbt") == strParam)
	{
		tidyOptSetValue(tdoc, TidyBlockTags, CT2A(m_onlyHtmlXml == SYN_HTML?g_GlobalTidy.m_TidyHtml_nbt:strNothing));
	}
	else if (_T("net") == strParam)
	{
		tidyOptSetValue(tdoc, TidyEmptyTags, CT2A(m_onlyHtmlXml == SYN_HTML?g_GlobalTidy.m_TidyHtml_net:strNothing));
	}
	else if (_T("nit") == strParam)
	{
		tidyOptSetValue(tdoc, TidyInlineTags, CT2A(m_onlyHtmlXml == SYN_HTML?g_GlobalTidy.m_TidyHtml_nit:strNothing));
	}
	else if (_T("npt") == strParam)
	{
		tidyOptSetValue(tdoc, TidyPreTags, CT2A(m_onlyHtmlXml == SYN_HTML?g_GlobalTidy.m_TidyHtml_npt:strNothing));
	}
}