int aggiorna_ports () { if (getuid () != 0) { printf ("ilenia: only root can update the ports tree\n\n"); return (-1); } DIR *etc_ports; struct dirent *info_file; char nome_file[255]; char estensione[255]; FILE *file; strcpy (nome_file, CACHE); if ((file = fopen (nome_file, "w"))) { fclose (file); } etc_ports = opendir ("/etc/ports"); while ((info_file = readdir (etc_ports))) { if (strstr (info_file->d_name, ".")) { strcpy (estensione, strstr (info_file->d_name, ".")); strcpy (estensione, mid (estensione, 1, FINE)); strcpy (nome_file, "/etc/ports/"); strcat (nome_file, info_file->d_name); if (strcmp (estensione, "cvsup") == 0) { cvsup (nome_file); } else if (strcmp (estensione, "httpup") == 0) { httpup (nome_file); } // supporting crux ppc else if (strcmp (estensione, "cvs") == 0) { cvs (nome_file); } else if(!strcmp(estensione, "rsync")) rsync(nome_file); } } return (0); }
cvS NormRGBDesp::CmpLmncIvrtDesp3D(cvS s) { //normalize rgb cvS s1 = s; float nmlzRatio = (float)cvSD(s, cvs(0, 0, 0)); if(nmlzRatio > 1) nmlzRatio /= 255.0f; doF(i, 3) s1.val[i] /= nmlzRatio; //c1 c2 c3 ref by [01] shadow identification cvS s2 = s; s2.val[0] = atan2(s.val[0], max2(s.val[1], s.val[2])); s2.val[1] = atan2(s.val[1], max2(s.val[0], s.val[2])); s2.val[2] = atan2(s.val[2], max2(s.val[0], s.val[1])); doF(i, 3) s2.val[i] = s2.val[i] / CV_PI * 2 * 255; //ref by [01pami] color variance cvS s3 = s; s3.val[0] = 0.06 * s.val[0] + 0.63 * s1.val[0] + 0.27 *s2.val[0]; s3.val[1] = 0.3 * s.val[0] + 0.04 * s1.val[0] - 0.35 * s2.val[0]; s3.val[2] = 0.34 * s.val[0] - 0.6 * s1.val[0] + 0.17 * s2.val[0]; return s1; }
void QA::setCheckMode(std::string m) { isCheckCF=false; isCheckCNSTY=false; isCheckCV=false; isCheckData=false; isCheckDRS_F=false; isCheckDRS_P=false; isCheckTime=false; isCheckTimeValues=false; isRequiredTime=false; isRequiredVariable=false; isRequiredGlobal=false; bool isEnableMode=false; Split cvs(hdhC::Lower()(m), ",|", true); for( size_t j=0 ; j < cvs.size() ; ++j ) { if( cvs[j] == "cf" ) { isCheckCF=true ; isRequiredTime=true; isRequiredVariable=true; isRequiredGlobal=true; isEnableMode=true; } if( cvs[j] == "cnsty" ) { isCheckCNSTY=true ; isEnableMode=true; } else if( cvs[j] == "cv" ) { isCheckCV=true ; isCheckTime=true ; isRequiredTime=true; isRequiredGlobal=true; isRequiredVariable=true; isEnableMode=true; } else if( cvs[j] == "data" ) { isCheckTime=true ; isCheckTimeValues=true ; isCheckData=true ; isRequiredTime=true; isRequiredVariable=true; isRequiredGlobal=true; isEnableMode=true; } else if( cvs[j] == "drs" ) { isCheckDRS_F=true ; isCheckDRS_P=true ; isCheckTime=true ; isRequiredTime=true; isRequiredGlobal=true; isEnableMode=true; } else if( cvs[j] == "drs_f" ) { isCheckDRS_F=true ; isCheckTime=true ; isRequiredTime=true; isRequiredGlobal=true; isEnableMode=true; } else if( cvs[j] == "drs_p" ) { isCheckDRS_P=true ; isCheckTime=true ; isRequiredTime=true; isRequiredGlobal=true; isEnableMode=true; } else if( cvs[j] == "meta" ) { isCheckCF=true ; isCheckCNSTY=true ; isCheckCV=true ; isCheckDRS_F=true ; isCheckDRS_P=true ; isCheckTime=true ; isRequiredGlobal=true; isRequiredTime=true; isRequiredVariable=true; isEnableMode=true; } else if( cvs[j] == "time" ) { isCheckTime=true ; isCheckTimeValues=true ; isRequiredTime=true; isRequiredGlobal=true; isEnableMode=true; } } // disable mode if( isEnableMode ) return; isCheckCF=true; isCheckCNSTY=true; isCheckCV=true; isCheckData=true; isCheckDRS_F=true; isCheckDRS_P=true; isCheckTime=true; isCheckTimeValues=true; isRequiredTime=true; isRequiredVariable=true; isRequiredGlobal=true; for( size_t j=0 ; j < cvs.size() ; ++j ) { if( cvs[j] == "-cf" ) isCheckCF=false ; else if( cvs[j] == "-cnsty" ) isCheckCNSTY=false ; else if( cvs[j] == "-cv" ) isCheckCV=false ; else if( cvs[j] == "-data" ) { isCheckData=false ; } else if( cvs[j] == "-drs" ) { isCheckDRS_F=false ; isCheckDRS_P=false ; } else if( cvs[j] == "-drs_f" ) isCheckDRS_F=false ; else if( cvs[j] == "-drs_p" ) isCheckDRS_P=false ; else if( cvs[j] == "-meta" ) { isCheckCF=false ; isCheckCNSTY=false ; isCheckCV=false ; isCheckDRS_F=false ; isCheckDRS_P=false ; } else if( cvs[j] == "-time" ) { isCheckTime=false ; isCheckTimeValues=false ; } } return; }
MStatus liqAttachPrefAttribute::redoIt() { MFnTypedAttribute tAttr; MStatus status; for ( unsigned i( 0 ); i < objectNames.length(); i++ ) { MSelectionList nodeList; nodeList.add( objectNames[i] ); MObject depNodeObj; nodeList.getDependNode( 0, depNodeObj ); MDagPath dagNode; nodeList.getDagPath( 0, dagNode ); MFnDependencyNode depNode( depNodeObj ); MObject prefAttr; MString attrName, varName; // make sure the renderer description is up to date liqglo.liquidRenderer.setRenderer(); // build the name of the attribute varName = ( ( exportN && depNodeObj.hasFn( MFn::kMesh ) )? "N":"P" ); attrName = "rman"; attrName += varName; attrName += ( ( liqglo.liquidRenderer.requires__PREF )? "__":"" ); attrName += varName + "ref"; // create the attribute prefAttr = tAttr.create( attrName, attrName, MFnData::kPointArray ); if ( depNodeObj.hasFn( MFn::kNurbsSurface ) ) { MFnNurbsSurface nodeFn( depNodeObj ); MPointArray nodePArray; MItSurfaceCV cvs( dagNode, MObject::kNullObj, liqglo.liquidRenderer.requires_SWAPPED_UVS == false, &status ); while( !cvs.isDone() ) { while( !cvs.isRowDone() ) { MPoint pt = (worldSpace)? cvs.position( MSpace::kWorld ) : cvs.position( MSpace::kObject ); nodePArray.append( pt ); cvs.next(); } cvs.nextRow(); } nodeFn.addAttribute( prefAttr ); MFnPointArrayData pArrayData; MObject prefDefault = pArrayData.create( nodePArray ); MPlug nodePlug( depNodeObj, prefAttr ); nodePlug.setValue( prefDefault ); } else if ( depNodeObj.hasFn( MFn::kNurbsCurve ) ) { // Carsten: added support for PREF on nurbs curves // MFnNurbsCurve nodeFn( depNodeObj ); MPointArray nodePArray; nodeFn.getCVs( nodePArray ); nodeFn.addAttribute( prefAttr ); MFnPointArrayData pArrayData; MObject prefDefault = pArrayData.create( nodePArray ); MPlug nodePlug( depNodeObj, prefAttr ); nodePlug.setValue( prefDefault ); } else if ( depNodeObj.hasFn( MFn::kMesh ) ) { MFnMesh nodeFn( depNodeObj ); // Moritz: modified this line to dim nodePArray -- otherwise // nodePArray.set() in the wile loop below throws an exception // which was why __Pref didn't work MPointArray nodePArray( MFnMesh( depNodeObj ).numVertices() ); unsigned count; nodeFn.addAttribute( prefAttr ); if ( exportN ) { // export Nref unsigned vertex; unsigned normal; unsigned face = 0; unsigned faceVertex = 0; unsigned int numNormals = nodeFn.numNormals(); unsigned int numPoints = nodeFn.numVertices(); MFloatVectorArray normals; MVectorArray normalAttArray; nodeFn.getNormals( normals ); if ( numNormals > numPoints ) { // if we get more than 1 normal per vertex, // force the arraysize to the full facevarying size unsigned faceVaryingCount( 0 ); for ( unsigned pOn( 0 ); pOn < nodeFn.numPolygons(); pOn++ ) faceVaryingCount += nodeFn.polygonVertexCount( pOn ); normalAttArray.setLength( faceVaryingCount ); } else normalAttArray.setLength(normals.length()); for ( MItMeshPolygon polyIt ( depNodeObj ); polyIt.isDone() == false; polyIt.next() ) { count = polyIt.polygonVertexCount(); while ( count > 0 ) { --count; normal = polyIt.normalIndex( count ); vertex = polyIt.vertexIndex( count ); if( numNormals == numPoints ) normalAttArray.set(normals[normal], vertex); else normalAttArray.set(normals[normal], faceVertex); ++faceVertex; } ++face; } MFnVectorArrayData pArrayData; MObject prefDefault = pArrayData.create( normalAttArray ); MPlug nodePlug( depNodeObj, prefAttr ); nodePlug.setValue( prefDefault ); } else { // TODO: do we need to account for the altMeshExport algo that's // used in liquidRibMeshData? // Moritz: no, it's basically the same as the algo below for ( MItMeshPolygon polyIt( dagNode, MObject::kNullObj ); !polyIt.isDone(); polyIt.next()) { count = polyIt.polygonVertexCount(); while ( count > 0 ) { --count; unsigned vertexIndex = polyIt.vertexIndex( count ); MPoint nodePoint = (worldSpace)? polyIt.point( count, MSpace::kWorld ) : polyIt.point( count, MSpace::kObject ); // Moritz: this returns MS::kFailure but seems to work?! nodePArray.set( nodePoint, vertexIndex ); } } MFnPointArrayData pArrayData; MObject prefDefault = pArrayData.create( nodePArray ); MPlug nodePlug( depNodeObj, prefAttr ); nodePlug.setValue( prefDefault ); } } else cerr << "Neither a Nurbs nor a Mesh !!" << endl; } return MS::kSuccess; }