Пример #1
0
bool CalibrationData::saveSLCALIB(const QString& filename){


    FILE * fp = fopen(qPrintable(filename), "w");
    if (!fp)
        return false;

    fprintf(fp, "#V1.0 SLStudio calibration\n");
    fprintf(fp, "#Calibration time: %s\n\n", calibrationDateTime.c_str());
    fprintf(fp, "Kc\n%f %f %f\n%f %f %f\n%f %f %f\n\n", Kc(0,0), Kc(0,1), Kc(0,2), Kc(1,0), Kc(1,1), Kc(1,2), Kc(2,0), Kc(2,1), Kc(2,2));
    fprintf(fp, "kc\n%f %f %f %f %f\n\n", kc(0), kc(1), kc(2), kc(3), kc(4));
    fprintf(fp, "Kp\n%f %f %f\n%f %f %f\n%f %f %f\n\n", Kp(0,0), Kp(0,1), Kp(0,2), Kp(1,0), Kp(1,1), Kp(1,2), Kp(2,0), Kp(2,1), Kp(2,2));
    fprintf(fp, "kp\n%f %f %f %f %f\n\n", kp(0), kp(1), kp(2), kp(3), kp(4));
    fprintf(fp, "Rp\n%f %f %f\n%f %f %f\n%f %f %f\n\n", Rp(0,0), Rp(0,1), Rp(0,2), Rp(1,0), Rp(1,1), Rp(1,2), Rp(2,0), Rp(2,1), Rp(2,2));
    fprintf(fp, "Tp\n%f %f %f\n\n", Tp(0), Tp(1), Tp(2));

    fprintf(fp, "cam_error: %f\n\n", cam_error);
    fprintf(fp, "proj_error: %f\n\n", proj_error);
    fprintf(fp, "stereo_error: %f\n\n", stereo_error);

    fclose(fp);

    return true;

}
void ThucHien()
{
	// Khoi tao
	for (int q = 0; q < n; ++q)
	{
		L[q][0] = 0;
		L[q][1] = 0;
		L[q][2] = kc(q, q + 2);
	}
	// Tim phuong an toi uu
	float min;
	int vt;
	for (int p = 3; p < n - 1; ++p)
	{		
		for (q = 0; q < n; ++q)
		{
			
			min = FLT_MAX;
			
			for (int i = 1; i < p; ++i)
				if (min > L[q][i] + L[(q + i) % n][p - i])
				{
					min = L[q][i] + L[(q + i) % n][p - i];
					vt = i;
				}
			L[q][p] = min + kc(q, q + p); 
			kq[q][p] = vt;
		}
	}
}
Пример #3
0
/*
 * synthesize - synthesis function
 */
void rectwaveguide::synthesize ()
{
  double lambda_g, k, beta;

  /* Get and assign substrate parameters */
  get_rectwaveguide_sub();

  /* Get and assign component parameters */
  get_rectwaveguide_comp();
      
  /* Get and assign electrical parameters */
  get_rectwaveguide_elec();

  /* Get and assign physical parameters */
  get_rectwaveguide_phys();


  if (isSelected ("b")) {
    /* solve for b */
    b = Z0 * a * sqrt(1.0 - pow((fc(1,0)/f),2.0))/
      (2. * ZF0);
    setProperty ("b", b, UNIT_LENGTH, LENGTH_M);
  } else if (isSelected ("a")) {
    /* solve for a */
    a = sqrt(pow((2.0 * ZF0 * b/Z0), 2.0) + 
		 pow((C0/(2.0 * f)),2.0));
    setProperty ("a", a, UNIT_LENGTH, LENGTH_M);
  }

  k = kval ();
  beta = sqrt(pow(k,2.) - pow(kc(1,0),2.0));
  lambda_g = (2. * M_PI)/beta;
  l = (ang_l * lambda_g)/(2.0 * M_PI);    /* in m */

  setProperty ("L", l, UNIT_LENGTH, LENGTH_M);

  if (kc(1,0) <= k) {
    /*propagating modes */
    beta = sqrt(pow(k,2.) - pow(kc(1,0),2.0));
    lambda_g = (2. * M_PI)/beta;
    atten_cond = alphac () * l;
    atten_dielectric = alphad () * l;
    er_eff = (1.0 - pow((fc(1,0)/f),2.0));
  } else { 
    /*evanascent modes */	
    Z0 = 0;
    ang_l = 0;
    er_eff = 0;
    atten_dielectric = 0.0;
    atten_cond = alphac_cutoff () * l;
  }

  show_results ();
}
Пример #4
0
//-----------------------------------------------------------------------------
SLLight::SLLight(SLfloat ambiPower,
                 SLfloat diffPower,
                 SLfloat specPower,
                 SLint   id)
{  
   // Set parameter of SLLight
   _id = id;
   _on = true;
   _spotCutoff = 180.0f;
   _spotCosCut = cos(SL_DEG2RAD*_spotCutoff);
   _spotExponent = 1.0f;

   // Set parameters of inherited SLMaterial 
   _ambient.set (ambiPower, ambiPower, ambiPower);
   _diffuse.set (diffPower, diffPower, diffPower);
   _specular.set(specPower, specPower, specPower);

   // By default there is no attenuation set. This is physically not correct
   // Default OpenGL:      kc=1, kl=0, kq=0
   // Physically correct:  kc=0, kl=0, kq=1
   // set quadratic attenuation with d = distance to light
   //                      1
   // attenuation = ------------------
   //               kc + kl*d + kq*d*d
   kc(1.0f);
   kl(0.0f);
   kq(0.0f);
}
Пример #5
0
/*
 * alphac_cutoff - returns attenuation for a cutoff wg
 */
double rectwaveguide::alphac_cutoff ()
{
  double acc;
  acc = sqrt (pow (kc(1,0), 2.0) - pow (kval (), 2.0));
  acc = 20 * log10 (exp (1.0)) * acc;
  return acc;
}
Пример #6
0
void TestKoColor::testForModel(QString model)
{
    QColor qc(200, 125, 100);
    QList<KoID> depthIDs = KoColorSpaceRegistry::instance()->colorDepthList(model, KoColorSpaceRegistry::AllColorSpaces);
    foreach(const KoID& depthId, depthIDs) {
        const KoColorSpace* cs = KoColorSpaceRegistry::instance()->colorSpace(model, depthId.id() , "");
        if (cs) {
            KoColor kc(cs);
            kc.fromQColor(qc);
            QDomDocument doc;
            QDomElement elt = doc.createElement("color");
            kc.toXML(doc, elt);
            doc.appendChild(elt);
            dbgPigment << doc.toString();
            KoColor kcu = KoColor::fromXML(elt.firstChildElement(), depthId.id(), QHash<QString, QString>());
            QVERIFY2(*(kc.colorSpace()) == *(kcu.colorSpace()),
                     QString("Not identical color space (colorModelId = %1 depthId = %2) != (colorModelId = %3 depthId = %4) ")
                     .arg(kc.colorSpace()->colorModelId().id())
                     .arg(kc.colorSpace()->colorDepthId().id())
                     .arg(kcu.colorSpace()->colorModelId().id())
                     .arg(kcu.colorSpace()->colorDepthId().id()).toLatin1());
            QVERIFY(cs->difference(kcu.data(), kc.data()) <= 1);
        }
    }

}
Пример #7
0
int main()
{
        knob_ctl_img kc(1350, 512, 20, 20);
        number_writer nw(kc, 100, 200, 24, 20);
        mudd_hacks::clock ck(nw);
        
        ck.run();
}
Пример #8
0
static inline void DoSplit1(TConsumer& cc, TDelim& d, const TChr* ptr, int opts) {
    if (opts & KEEP_DELIMITERS) {
        TKeepDelimiters<TConsumer> kc(&cc);

        DoSplit2(kc, d, ptr, opts);
    } else {
        DoSplit2(cc, d, ptr, opts);
    }
}
Пример #9
0
/*
 * analyze - analysis function
 */
void rectwaveguide::analyze ()
{
  double lambda_g;
  double k;
  double beta;

  /* Get and assign substrate parameters */
  get_rectwaveguide_sub();

  /* Get and assign component parameters */
  get_rectwaveguide_comp();
      
  /* Get and assign physical parameters */
  get_rectwaveguide_phys();

  k = kval ();
      
  if (kc (1,0) <= k) {
    /* propagating modes */
    beta = sqrt (pow (k, 2.0) - pow (kc (1,0), 2.0));
    lambda_g = 2.0 * M_PI / beta;
    /* Z0 = (k * ZF0) / beta; */
    Z0 = k * ZF0 / beta;

    /* calculate electrical angle */
    lambda_g = 2.0 * M_PI / beta;
    ang_l = 2.0 * M_PI * l / lambda_g;    /* in radians */
    atten_cond = alphac () * l;
    atten_dielectric = alphad () * l;
    er_eff = (1.0 - pow ((fc (1,0) / f), 2.0));
  } else { 
    /* evanascent modes */	
    Z0 = 0;
    ang_l = 0;
    er_eff = 0;
    atten_dielectric = 0.0;
    atten_cond = alphac_cutoff () * l;
  }

  setProperty ("Z0", Z0, UNIT_RES, RES_OHM);
  setProperty ("Ang_l", ang_l, UNIT_ANG, ANG_RAD);

  show_results ();
}
Пример #10
0
/*
 * returns attenuation due to dielectric losses
 */
double rectwaveguide::alphad()
{
  double k, beta;
  double ad;

  k = kval ();
  beta = sqrt (pow (k, 2.0) - pow (kc (1,0), 2.0));  
  
  ad = (pow (k, 2.0) * tand) / (2.0 * beta);
  ad = ad * 20.0 * log10 (exp (1.0)); /* convert from Np/m to db/m */
  return ad;
}
Пример #11
0
TDF_API K K_DECL TDF_optionCodeInfo(K h, K windCode) {
	::THANDLE tdf = NULL;
	std::string code;
	try {
		TDF::parseTdfHandle(h, tdf);
		code = q::q2String(windCode);
	}
	catch (std::string const& error) {
		return q::error2q(error);
	}

	::TDF_OPTION_CODE info = { 0 };
	::TDF_ERR result = static_cast<::TDF_ERR>(::TDF_GetOptionCodeInfo(tdf, code.c_str(), &info));
	if (result != TDF_ERR_SUCCESS) {
		return q::error2q(::TDF::getError(result));
	}

	q::K_ptr data(ktn(0, 6 + 12));
	kK(data.get())[0 +  0] = ks(const_cast<S>(info.basicCode.szWindCode));
	kK(data.get())[0 +  1] = ks(const_cast<S>(info.basicCode.szMarket));
	kK(data.get())[0 +  2] = ks(const_cast<S>(info.basicCode.szCode));
	kK(data.get())[0 +  3] = ks(const_cast<S>(info.basicCode.szENName));
	kK(data.get())[0 +  4] = ks(const_cast<S>(Wind::encoder::GB18030_UTF8::encode(info.basicCode.szCNName).c_str()));
	kK(data.get())[0 +  5] = kg(info.basicCode.nType);
	kK(data.get())[6 +  0] = ks(const_cast<S>(info.szContractID));
	kK(data.get())[6 +  1] = ks(const_cast<S>(info.szUnderlyingSecurityID));
	kK(data.get())[6 +  2] = kc(info.chCallOrPut);
	kK(data.get())[6 +  3] = kd(q::date2q(info.nExerciseDate));
	kK(data.get())[6 +  4] = kc(info.chUnderlyingType);
	kK(data.get())[6 +  5] = kc(info.chOptionType);
	kK(data.get())[6 +  6] = kc(info.chPriceLimitType);
	kK(data.get())[6 +  7] = ki(info.nContractMultiplierUnit);
	kK(data.get())[6 +  8] = kf(info.nExercisePrice);
	kK(data.get())[6 +  9] = kd(q::date2q(info.nStartDate));
	kK(data.get())[6 + 10] = kd(q::date2q(info.nEndDate));
	kK(data.get())[6 + 11] = kd(q::date2q(info.nExpireDate));
	return data.release();
}
Пример #12
0
//------------------------------------------------------------------------
// install standard operators
//	for convenction on constant mapping of kstring/functors_operators
//	the call order MUST follow that of Operator::tag as declared
//	in operator.h
//
void AddStdOpers(OperTable *tbl)
{
	tbl->Add(kstring(":-"),		255,	Operator::XFX,	Operator::RULE);
	tbl->Add(kstring("?-"),		255,	Operator::FX,	Operator::QUERY);
	tbl->Add(kstring(";"),		254,	Operator::XFY,	Operator::OR);
	tbl->Add(kstring(","),		253,	Operator::XFY,	Operator::AND);
	tbl->Add(kstring("spy"),	240,	Operator::FX,	Operator::SPY);
	tbl->Add(kstring("nospy"),	240,	Operator::FX,	Operator::NOSPY);
	tbl->Add(kstring("not"),	60,		Operator::FX,	Operator::NOT);
	tbl->Add(kstring("is"),		40,		Operator::XFX,	Operator::IS);
	tbl->Add(kstring(":="),		40,		Operator::XFX,	Operator::ASS);
	tbl->Add(kstring("=.."),	40,		Operator::XFX,	Operator::UNIV);
	tbl->Add(kstring("="),		40,		Operator::XFX,	Operator::EQ);
	tbl->Add(kstring("\\="),	40,		Operator::XFX,	Operator::NE);
	tbl->Add(kstring("<"),		40,		Operator::XFX,	Operator::LT);
	tbl->Add(kstring("=<"),		40,		Operator::XFX,	Operator::LE);
	tbl->Add(kstring(">="),		40,		Operator::XFX,	Operator::GE);
	tbl->Add(kstring(">"),		40,		Operator::XFX,	Operator::GT);
	tbl->Add(kstring("=="),		40,		Operator::XFX,	Operator::STRICTEQ);
	tbl->Add(kstring("\\=="),	40,		Operator::XFX,	Operator::STRICTNE);
	tbl->Add(kstring("-"),		31,		Operator::YFX,	Operator::SUB);
	tbl->Add(kstring("+"),		31,		Operator::YFX,	Operator::ADD);
	tbl->Add(kstring("/"),		21,		Operator::YFX,	Operator::DIV);
	tbl->Add(kstring("*"),		21,		Operator::YFX,	Operator::MUL);
	tbl->Add(kstring("mod"),	11,		Operator::XFX,	Operator::MOD);
	tbl->Add(kstring("^"),		10,		Operator::XFY,	Operator::POT);
	tbl->Add(kstring("\\"),		50,		Operator::XFY,	Operator::PATHNAME);

	tbl->Add(kstring(":-", 1),	255,	Operator::FX,	Operator::RULEUNARY);
	tbl->Add(kstring("-", 1),	31,		Operator::FX,	Operator::SUBUNARY);
	tbl->Add(kstring("+", 1),	31,		Operator::FX,	Operator::ADDUNARY);

	tbl->Add(kstring(":{", 1),	31,		Operator::XF,	Operator::I_BEGIN);
	tbl->Add(kstring(":}", 1),	31,		Operator::XF,	Operator::I_END);
	tbl->Add(kstring(":<", 1),	31,		Operator::FX,	Operator::I_INHERIT);
	tbl->Add(kstring(":/", 1),	31,		Operator::FX,	Operator::I_IMPORT);
	tbl->Add(kstring(":\\", 1),	31,		Operator::FX,	Operator::I_EXPORT);
	tbl->Add(kstring(":+", 1),	31,		Operator::FX,	Operator::I_DYNAMIC);
	tbl->Add(kstring(":$", 1),	31,		Operator::FX,	Operator::I_HANDLER);

	tbl->Add(kstring(":@", 1),	31,		Operator::XFX,	Operator::I_CREATE);
	tbl->Add(kstring(":", 1),	241,	Operator::XFX,	Operator::I_CALL);
	tbl->Add(kstring(":*", 1),	241,	Operator::XFX,	Operator::I_GCALL);
	tbl->Add(kstring(":~", 1),	31,		Operator::FX,	Operator::I_DESTROY);

	tbl->Add(kstring(":^", 1),	31,		Operator::XFX,	Operator::I_PROPLIST);
	tbl->Add(kstring(":&", 1),	31,		Operator::XFX,	Operator::I_ISA);

	kstring kl("."), kc("!");
}
Пример #13
0
// ----------------------------------------------------------------------------
KartUpdateMessage::KartUpdateMessage(ENetPacket* pkt)
                  : Message(pkt, MT_KART_INFO)
{
    World *world = World::getWorld();
    unsigned int num_karts = getInt();
    for(unsigned int i=0; i<num_karts; i++)
    {
        // Currently not used
        KartControl kc(this);
        Vec3 xyz = getVec3();
        btQuaternion q = getQuaternion();
        Kart *kart = world->getKart(i);
        kart->setXYZ(xyz);
        kart->setRotation(q);
    }   // for i
};   // KartUpdateMessage
Пример #14
0
int main(int argc, char* argv[])
{
	k::KConsole kc(80,15);

//	kc.print("safsaf");

//	kc.getConsoleDraw()->drawQuad(1,1,10,10);
	k::MenuData md;
	md.str.push_back("Element1");
	md.str.push_back("Element2");
	md.x = 2;
	md.y = 1;
	while (!kc.getConsoleElements()->drawMenu(md)) { kc.flush(); }
	kc.flush();
	return 0;
}
/** Receives a kart control message. 
 *  \param kart_id_offset is the global id of the first kart on the host from 
 *         which this packet was received.
 */
KartControlMessage::KartControlMessage(ENetPacket* pkt, int kart_id_offset,
                                       int num_local_players)
                  : Message(pkt, MT_KART_CONTROL)
{
    // FIXME: This probably does not work anymore - it assume that
    // num_local_Players is the number of all local karts, while it might
    // only be the number of all network karts.
    for(int i=kart_id_offset; i<kart_id_offset+num_local_players; i++)
    {
        KartControl kc(this);
        AbstractKart *kart = World::getWorld()->getKart(i);
        if(kart->getController()->isNetworkController())
        {
            ((NetworkKart*)kart)->setControl(kc);
        }
    }
};   // KartControlMessage
Пример #16
0
void KisTotalRandomColorSource::colorize(KisPaintDeviceSP dev, const QRect& rect)
{
    KoColor kc(dev->colorSpace());

    QColor qc;

    int pixelSize = dev->colorSpace()->pixelSize();

    KisHLineIteratorPixel it = dev->createHLineIterator(rect.x(), rect.y(), rect.width(), 0);
    for (int y = 0; y < rect.height(); y++) {
        while (!it.isDone()) {
            qc.setRgb((int)((255.0*rand()) / RAND_MAX), (int)((255.0*rand()) / RAND_MAX), (int)((255.0*rand()) / RAND_MAX));
            kc.fromQColor(qc);
            memcpy(it.rawData(), kc.data(), pixelSize);
            ++it;
        }
        it.nextRow();
    }

}
Пример #17
0
TEST (KeyClassifierTest, DetectsOtherTriads) {
  // all with offset
  std::vector<float> cMajor(12);
  cMajor[0] = 1.0;
  cMajor[4] = 1.0;
  cMajor[7] = 1.0;

  std::vector<float> cMinor(12);
  cMinor[0] = 1.0;
  cMinor[3] = 1.0;
  cMinor[7] = 1.0;

  std::vector<float> gMajor(12);
  gMajor[7] = 1.0;
  gMajor[11] = 1.0;
  gMajor[2] = 1.0;

  KeyFinder::KeyClassifier kc(simCos, tpS, true);
  ASSERT_EQ(KeyFinder::C_MAJOR, kc.classify(cMajor));
  ASSERT_EQ(KeyFinder::C_MINOR, kc.classify(cMinor));
  ASSERT_EQ(KeyFinder::G_MAJOR, kc.classify(gMajor));
}
Пример #18
0
/*
 * given mode numbers m and n 
 * returns cutoff fc value
 */
double rectwaveguide::fc (int m, int n)
{
  double fcval;
  fcval =  kc (m, n) * C0 / (2.0 * M_PI * sqrt (mur * er));
  return fcval;
}
Пример #19
0
TEST (KeyClassifierTest, DetectsSilence) {
  KeyFinder::KeyClassifier kc(simCos, tpS, false);
  std::vector<float> chroma(12);
  ASSERT_EQ(KeyFinder::SILENCE, kc.classify(chroma));
}
Пример #20
0
EXPORT_C TInt RConsoleProxy::GetKeyCode(TKeyCode& aCode) const
	{
	TPckg<TKeyCode> kc(aCode);
	return SendReceive(EGetKeyCode, TIpcArgs(&(kc)));
	}