#include <OSGDisplayCalibration.h>

Definition at line 69 of file OSGDisplayCalibration.h.
typedef DisplayCalibrationBase osg::DisplayCalibration::Inherited [private] |
Reimplemented from osg::DisplayCalibrationBase.
Definition at line 73 of file OSGDisplayCalibration.h.
typedef DisplayCalibrationPtr osg::DisplayCalibrationBase::Ptr [inherited] |
Definition at line 98 of file OSGDisplayCalibrationBase.h.
anonymous enum [inherited] |
| EnabledFieldId | |
| ServerFieldId | |
| ColorMatrixFieldId | |
| GammaFieldId | |
| GammaRampFieldId | |
| GridWidthFieldId | |
| GridHeightFieldId | |
| GridFieldId | |
| ScaleDownFieldId | |
| NextFieldId |
Definition at line 100 of file OSGDisplayCalibrationBase.h.
00101 { 00102 EnabledFieldId = Inherited::NextFieldId, 00103 ServerFieldId = EnabledFieldId + 1, 00104 ColorMatrixFieldId = ServerFieldId + 1, 00105 GammaFieldId = ColorMatrixFieldId + 1, 00106 GammaRampFieldId = GammaFieldId + 1, 00107 GridWidthFieldId = GammaRampFieldId + 1, 00108 GridHeightFieldId = GridWidthFieldId + 1, 00109 GridFieldId = GridHeightFieldId + 1, 00110 ScaleDownFieldId = GridFieldId + 1, 00111 NextFieldId = ScaleDownFieldId + 1 00112 };
anonymous enum [inherited] |
Definition at line 78 of file OSGAttachmentContainerImpl.h.
00079 { 00080 AttachmentsFieldId = Inherited::NextFieldId, 00081 NextFieldId = AttachmentsFieldId + 1 00082 };
anonymous enum [inherited] |
| DisplayCalibration::DisplayCalibration | ( | void | ) | [protected] |
| DisplayCalibration::DisplayCalibration | ( | const DisplayCalibration & | source | ) | [protected] |
| DisplayCalibration::~DisplayCalibration | ( | void | ) | [protected, virtual] |
Definition at line 103 of file OSGDisplayCalibration.cpp.
References _cam, _cmPort, _cmRoot, _ds2Back, _ds2Root, _dsBack, _dsPort, _dsPort2, _dsRoot, osg::NullFC, and osg::subRefCP().
00104 { 00105 if(_cmPort != osg::NullFC) 00106 { 00107 subRefCP(_cmPort); 00108 subRefCP(_dsPort); 00109 subRefCP(_dsPort2); 00110 subRefCP(_cmRoot); 00111 subRefCP(_dsRoot); 00112 subRefCP(_ds2Root); 00113 subRefCP(_cam); 00114 subRefCP(_dsBack); 00115 subRefCP(_ds2Back); 00116 } 00117 }
| void DisplayCalibration::calibrate | ( | ViewportPtr | port, | |
| RenderActionBase * | ract | |||
| ) | [virtual] |
Calibrate display
Definition at line 123 of file OSGDisplayCalibration.cpp.
References _cmPort, _dsPort, _dsPort2, createCMViewports(), osg::DisplayCalibrationBase::getEnabled(), and osg::DisplayCalibrationBase::getScaleDown().
00124 { 00125 WindowPtr window=port->getParent(); 00126 if(!getEnabled()) 00127 return; 00128 00129 createCMViewports(port); 00130 00131 window->addPort(_cmPort); 00132 _cmPort->render(ract); 00133 window->subPort(_cmPort); 00134 00135 if(getScaleDown() < 1.0f) 00136 { 00137 window->addPort(_dsPort); 00138 _dsPort->render(ract); 00139 window->subPort(_dsPort); 00140 window->addPort(_dsPort2); 00141 _dsPort2->render(ract); 00142 window->subPort(_dsPort2); 00143 } 00144 00145 }
Reimplemented from osg::AttachmentContainer.
Definition at line 147 of file OSGDisplayCalibration.cpp.
References _changed, and osg::AttachmentContainer::changed().
00148 { 00149 _changed = true; 00150 Inherited::changed(whichField, origin); 00151 }
Reimplemented from osg::AttachmentContainer.
Definition at line 153 of file OSGDisplayCalibration.cpp.
References SLOG.
00155 { 00156 SLOG << "Dump DisplayCalibration NI" << std::endl; 00157 }
| void DisplayCalibration::createCMViewports | ( | ViewportPtr | port | ) | [protected] |
Definition at line 159 of file OSGDisplayCalibration.cpp.
References _argammachunk, _argammaimg, _bgammachunk, _bgammaimg, _cam, _changed, _cmBack, _cmPort, _cmRoot, _ds2Back, _ds2Root, _dsBack, _dsPort, _dsPort2, _dsRoot, _fragProgram, _gbgammachunk, _gbgammaimg, _ggammachunk, _ggammaimg, _nonPowerOfTwo, _positions, _positionsScale, _regCombiner, _rgammachunk, _rgammaimg, _texcoords, _texcoordsScale, _useFragmentProgram, _vpBottom, _vpLeft, _vpRight, _vpTop, osg::addRefCP(), osg::beginEditCP(), osg::MaterialChunkBase::create(), osg::SolidBackgroundBase::create(), osg::ViewportBase::create(), osg::TextureGrabBackgroundBase::create(), osg::MatrixCameraBase::create(), osg::GroupBase::create(), osg::ComponentTransformBase::create(), osg::Node::create(), osg::GeometryBase::create(), osg::GeoProperty< GeoPropertyDesc >::create(), osg::ChunkMaterialBase::create(), osg::RegisterCombinersChunkBase::create(), osg::FragmentProgramChunkBase::create(), osg::TextureChunkBase::create(), osg::ImageBase::create(), osg::endEditCP(), osg::DisplayCalibrationBase::getGammaRamp(), osg::DisplayCalibrationBase::getGrid(), osg::DisplayCalibrationBase::getGridHeight(), osg::DisplayCalibrationBase::getGridWidth(), osg::DisplayCalibrationBase::getScaleDown(), GL_CLAMP_TO_EDGE, GL_DEPENDENT_AR_TEXTURE_2D_NV, GL_DEPENDENT_GB_TEXTURE_2D_NV, GL_TEXTURE0_ARB, osg::TransformationMatrix< ValueTypeT >::identity(), osg::makePlane(), osg::NullFC, osg::Image::OSG_L_PF, osg::osgnextpower2(), p, osg::Window::registerExtension(), osg::DisplayCalibrationBase::setScaleDown(), osg::TransformationMatrix< ValueTypeT >::setValue(), SINFO, osg::MField< FieldTypeT, fieldNameSpace >::size(), osg::subRefCP(), updateGamma(), and updateMatrix().
Referenced by calibrate().
00160 { 00161 WindowPtr window=port->getParent(); 00162 00163 // create color management structures 00164 if(_cmPort != osg::NullFC && 00165 !_changed && 00166 _vpLeft == port->getPixelLeft() && 00167 _vpRight == port->getPixelRight() && 00168 _vpBottom == port->getPixelBottom() && 00169 _vpTop == port->getPixelTop()) 00170 return; 00171 00172 if(getScaleDown()>1.0) 00173 setScaleDown(1.0); 00174 00175 _changed = false; 00176 _vpLeft = port->getPixelLeft(); 00177 _vpBottom = port->getPixelBottom(); 00178 _vpRight = port->getPixelRight(); 00179 _vpTop = port->getPixelTop(); 00180 00181 // reset 00182 if(_cmPort != osg::NullFC) { 00183 subRefCP(_cmPort); 00184 subRefCP(_dsPort); 00185 subRefCP(_dsPort2); 00186 subRefCP(_cmRoot); 00187 subRefCP(_dsRoot); 00188 subRefCP(_ds2Root); 00189 subRefCP(_cam); 00190 subRefCP(_dsBack); 00191 subRefCP(_ds2Back); 00192 } 00193 00194 Matrix m; 00195 ImagePtr img = Image::create(); 00196 beginEditCP(img); 00197 img->set(GL_RGB,1,1); 00198 00199 endEditCP(img); 00200 00201 int extension; 00202 extension = osg::Window::registerExtension("GL_ARB_fragment_program"); 00203 if(window->hasExtension(extension)) 00204 { 00205 SINFO << "Use fragment program for color crrection" << std::endl; 00206 _useFragmentProgram = true; 00207 } 00208 else 00209 { 00210 SINFO << "Use reg combiner for color crrection" << std::endl; 00211 _useFragmentProgram = false; 00212 } 00213 extension = Window::registerExtension("GL_ARB_texture_non_power_of_two" ); 00214 if(window->hasExtension(extension)) 00215 _nonPowerOfTwo = true; 00216 else 00217 _nonPowerOfTwo = false; 00218 00219 TextureChunkPtr tex = TextureChunk::create(); 00220 00221 if(_useFragmentProgram) 00222 { 00223 // Step 1: The texture from the GrabBackground 00224 00225 beginEditCP(tex); 00226 tex->setImage(img); 00227 tex->setMinFilter(GL_NEAREST); 00228 tex->setScale(false); 00229 tex->setEnvMode(GL_REPLACE); 00230 endEditCP (tex); 00231 00232 // Step 2: The textures for the initial gamma mapping 00233 00234 // Texture Chunks for gamma mapping 00235 00236 UChar8 rgammadata[] = 00237 { 0, 80, 160, 255 }; 00238 00239 _rgammaimg = Image::create(); 00240 beginEditCP(_rgammaimg); 00241 _rgammaimg->set(Image::OSG_L_PF,4,1,1,1,1,0,rgammadata); 00242 endEditCP(_rgammaimg); 00243 00244 _rgammachunk = TextureChunk::create(); 00245 beginEditCP(_rgammachunk); 00246 _rgammachunk->setImage(_rgammaimg); 00247 _rgammachunk->setMinFilter(GL_LINEAR); 00248 _rgammachunk->setMagFilter(GL_LINEAR); 00249 _rgammachunk->setWrapS(GL_CLAMP_TO_EDGE); 00250 _rgammachunk->setWrapT(GL_CLAMP_TO_EDGE); 00251 endEditCP (_rgammachunk); 00252 00253 UChar8 ggammadata[] = 00254 { 0, 80, 160, 255 }; 00255 00256 _ggammaimg = Image::create(); 00257 beginEditCP(_ggammaimg); 00258 _ggammaimg->set(Image::OSG_L_PF,4,1,1,1,1,0,ggammadata); 00259 endEditCP(_ggammaimg); 00260 00261 _ggammachunk = TextureChunk::create(); 00262 beginEditCP(_ggammachunk); 00263 _ggammachunk->setImage(_ggammaimg); 00264 _ggammachunk->setMinFilter(GL_LINEAR); 00265 _ggammachunk->setMagFilter(GL_LINEAR); 00266 _ggammachunk->setWrapS(GL_CLAMP_TO_EDGE); 00267 _ggammachunk->setWrapT(GL_CLAMP_TO_EDGE); 00268 endEditCP (_ggammachunk); 00269 00270 UChar8 bgammadata[] = 00271 { 0, 80, 160, 255 }; 00272 00273 _bgammaimg = Image::create(); 00274 beginEditCP(_bgammaimg); 00275 _bgammaimg->set(Image::OSG_L_PF,4,1,1,1,1,0,bgammadata); 00276 endEditCP(_bgammaimg); 00277 00278 _bgammachunk = TextureChunk::create(); 00279 beginEditCP(_bgammachunk); 00280 _bgammachunk->setImage(_bgammaimg); 00281 _bgammachunk->setMinFilter(GL_LINEAR); 00282 _bgammachunk->setMagFilter(GL_LINEAR); 00283 _bgammachunk->setWrapS(GL_CLAMP_TO_EDGE); 00284 _bgammachunk->setWrapT(GL_CLAMP_TO_EDGE); 00285 endEditCP (_bgammachunk); 00286 00287 // set gamma table 00288 for(int j=0; j < 3; ++j) 00289 { 00290 ImagePtr img; 00291 switch(j) 00292 { 00293 case 0: img = _rgammaimg; break; 00294 case 1: img = _ggammaimg; break; 00295 case 2: img = _bgammaimg; break; 00296 } 00297 beginEditCP(img); 00298 if(getGammaRamp().size() == 0) 00299 { 00300 img->set(Image::OSG_L_PF, 256, 1); 00301 UInt8 *data = img->getData(); 00302 for(int i=0; i < 256; i++) 00303 { 00304 data[i] = (UInt8)(pow(i/255.0,1.0)*255); 00305 } 00306 } 00307 else 00308 { 00309 img->set(Image::OSG_L_PF, getGammaRamp().size(), 1); 00310 UInt8 *data = img->getData(); 00311 for(int i=0; i < getGammaRamp().size(); i++) 00312 { 00313 data[i] = (UInt8)(getGammaRamp()[i][j] * 255); 00314 } 00315 } 00316 endEditCP(img); 00317 } 00318 00319 // Step 3: FragmentProgram Chunk for color matrix multiply 00320 m.setValue(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1); 00321 00322 _fragProgram = FragmentProgramChunk::create(); 00323 std::string prog( 00324 "!!ARBfp1.0\n" 00325 "PARAM mat0 = program.local[1];\n" 00326 "PARAM mat1 = program.local[2];\n" 00327 "PARAM mat2 = program.local[3];\n" 00328 "PARAM mat3 = program.local[4];\n" 00329 "PARAM gamma = program.local[5];\n" 00330 "TEMP source;\n" 00331 "TEMP target;\n" 00332 "\n" 00333 "# get the grabbed texture's color\n" 00334 "TEX source, fragment.texcoord[0], texture[0], 2D;\n" 00335 "\n" 00336 "# gamma map it\n" 00337 "POW source.r, source.r, gamma.r;\n" 00338 "POW source.g, source.g, gamma.r;\n" 00339 "POW source.b, source.b, gamma.r;\n" 00340 "\n" 00341 "# do the matrix transform\n" 00342 "DP4 target.x, mat0, source;\n" 00343 "DP4 target.y, mat1, source;\n" 00344 "DP4 target.z, mat2, source;\n" 00345 "\n" 00346 "# map it through the target gamma\n" 00347 "TEX target.r, target.r, texture[1], 1D;\n" 00348 "TEX target.g, target.g, texture[2], 1D;\n" 00349 "TEX target.b, target.b, texture[3], 1D;\n" 00350 "\n" 00351 "# mov it to the output\n" 00352 "MOV result.color, target;\n" 00353 "END\n"); 00354 00355 beginEditCP(_fragProgram); 00356 _fragProgram->setProgram(prog); 00357 endEditCP(_fragProgram); 00358 } 00359 else 00360 { 00361 // Step 1: The texture from the GrabBackground 00362 00363 beginEditCP(tex); 00364 tex->setImage(img); 00365 tex->setWrapS(GL_CLAMP_TO_EDGE); 00366 tex->setWrapT(GL_CLAMP_TO_EDGE); 00367 00368 tex->setMinFilter(GL_LINEAR); 00369 tex->setMagFilter(GL_LINEAR); 00370 00371 // tex->setMinFilter(GL_NEAREST); 00372 tex->setScale(false); 00373 tex->setEnvMode(GL_REPLACE); 00374 tex->setShaderOperation(GL_TEXTURE_2D); 00375 tex->setInternalFormat(GL_RGB8); 00376 endEditCP (tex); 00377 00378 // Step 2: The textures for the initial gamma mapping 00379 00380 // Texture Chunks for gamma mapping 00381 00382 UChar8 _argammadata[] = 00383 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00384 80, 0, 0, 80, 0, 0, 80, 0, 0, 80, 0, 0, 00385 160, 0, 0, 160, 0, 0, 160, 0, 0, 160, 0, 0, 00386 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 00387 }; 00388 00389 _argammaimg = Image::create(); 00390 beginEditCP(_argammaimg); 00391 _argammaimg->set(GL_RGB,4,4,1,1,1,0,_argammadata); 00392 endEditCP(_argammaimg); 00393 00394 _argammachunk = TextureChunk::create(); 00395 beginEditCP(_argammachunk); 00396 _argammachunk->setImage(_argammaimg); 00397 _argammachunk->setMinFilter(GL_NEAREST); 00398 _argammachunk->setMagFilter(GL_NEAREST); 00399 _argammachunk->setWrapS(GL_CLAMP_TO_EDGE); 00400 _argammachunk->setWrapT(GL_CLAMP_TO_EDGE); 00401 _argammachunk->setShaderOperation(GL_DEPENDENT_AR_TEXTURE_2D_NV); 00402 _argammachunk->setShaderInput (GL_TEXTURE0_ARB); 00403 _argammachunk->setInternalFormat(GL_RGB8); 00404 endEditCP (_argammachunk); 00405 00406 UChar8 _gbgammadata[] = 00407 { 0, 0, 0, 0, 80, 0, 0,160, 0, 0,255, 0, 00408 0, 0, 80, 0, 80, 80, 0,160, 80, 0,255, 80, 00409 0, 0,160, 0, 80,160, 0,160,160, 0,255,160, 00410 0, 0,255, 0, 80,255, 0,160,255, 0,255,255 00411 }; 00412 00413 _gbgammaimg = Image::create(); 00414 beginEditCP(_gbgammaimg); 00415 _gbgammaimg->set(GL_RGB,4,4,1,1,1,0,_gbgammadata); 00416 endEditCP(_gbgammaimg); 00417 00418 _gbgammachunk = TextureChunk::create(); 00419 beginEditCP(_gbgammachunk); 00420 _gbgammachunk->setImage(_gbgammaimg); 00421 _gbgammachunk->setMinFilter(GL_NEAREST); 00422 _gbgammachunk->setMagFilter(GL_NEAREST); 00423 _gbgammachunk->setWrapS(GL_CLAMP_TO_EDGE); 00424 _gbgammachunk->setWrapT(GL_CLAMP_TO_EDGE); 00425 _gbgammachunk->setShaderOperation(GL_DEPENDENT_GB_TEXTURE_2D_NV); 00426 _gbgammachunk->setShaderInput (GL_TEXTURE0_ARB); 00427 _gbgammachunk->setInternalFormat(GL_RGB8); 00428 endEditCP (_gbgammachunk); 00429 00430 // Step 3: RegisterCombiners Chunk for color matrix multiply 00431 00432 m.setValue(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1); 00433 m.setValue(1,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1); 00434 00435 _regCombiner = RegisterCombinersChunk::create(); 00436 } 00437 00438 // putting it all together 00439 00440 ChunkMaterialPtr mat = ChunkMaterial::create(); 00441 beginEditCP(mat); 00442 mat->addChunk(tex); 00443 if(_useFragmentProgram) 00444 { 00445 mat->addChunk(_rgammachunk); 00446 mat->addChunk(_ggammachunk); 00447 mat->addChunk(_bgammachunk); 00448 mat->addChunk(_fragProgram); 00449 } 00450 else 00451 { 00452 mat->addChunk(_argammachunk); 00453 mat->addChunk(_gbgammachunk); 00454 mat->addChunk(_regCombiner); 00455 } 00456 endEditCP(mat); 00457 00458 // add the second viewport 00459 00460 GeoPTypesUI8Ptr types = GeoPTypesUI8::create(); 00461 GeoPLengthsPtr lens = GeoPLengthsUI32::create(); 00462 beginEditCP(types); 00463 types->addValue(GL_QUADS); 00464 endEditCP(types); 00465 00466 beginEditCP(lens); 00467 lens->addValue(4); 00468 endEditCP(lens); 00469 00470 GeoPositions3fPtr pos = GeoPositions3f::create(); 00471 beginEditCP(pos); 00472 pos->addValue(Pnt3f(-1, -1, -0.5)); 00473 pos->addValue(Pnt3f( 1, -1, -0.5)); 00474 pos->addValue(Pnt3f( 1, 1, -0.5)); 00475 pos->addValue(Pnt3f(-1, 1, -0.5)); 00476 endEditCP(pos); 00477 _positions=pos; 00478 00479 _texcoords = GeoTexCoords2f::create(); 00480 beginEditCP(_texcoords); 00481 _texcoords->addValue(Vec2f(0,0)); 00482 _texcoords->addValue(Vec2f(1,0)); 00483 _texcoords->addValue(Vec2f(1,1)); 00484 _texcoords->addValue(Vec2f(0,1)); 00485 endEditCP(_texcoords); 00486 00487 GeometryPtr geo = Geometry::create(); 00488 beginEditCP(geo); 00489 geo->setMaterial(mat); 00490 geo->setPositions(pos); 00491 geo->setTypes(types); 00492 geo->setTexCoords(_texcoords); 00493 geo->setLengths(lens); 00494 endEditCP (geo); 00495 00496 NodePtr cube = Node::create(); 00497 beginEditCP(cube); 00498 cube->setCore(geo); 00499 endEditCP(cube); 00500 00501 ComponentTransformPtr trans = ComponentTransform::create(); 00502 beginEditCP(trans); 00503 trans->setTranslation(Vec3f(getScaleDown()-1, getScaleDown()-1, 0)); 00504 trans->setScale(Vec3f(getScaleDown(), getScaleDown(), 1.0)); 00505 endEditCP(trans); 00506 00507 _cmRoot = Node::create(); 00508 addRefCP(_cmRoot); 00509 beginEditCP(_cmRoot); 00510 _cmRoot->setCore(trans); 00511 _cmRoot->addChild(cube); 00512 endEditCP(_cmRoot); 00513 00514 GroupPtr group = Group::create(); 00515 NodePtr gr = Node::create(); 00516 beginEditCP(gr); 00517 gr->setCore(group); 00518 gr->addChild(_cmRoot); 00519 endEditCP(gr); 00520 00521 _cam = MatrixCamera::create(); 00522 addRefCP(_cam); 00523 beginEditCP(_cam); 00524 _cam->setNear(0.1); 00525 _cam->setFar(10); 00526 _cam->setModelviewMatrix(Matrix::identity()); 00527 _cam->setProjectionMatrix(Matrix::identity()); 00528 endEditCP(_cam); 00529 00530 // create a dummy geometry 00531 _dsRoot = makePlane(1, 1, 1, 1); 00532 addRefCP(_dsRoot); 00533 beginEditCP(_dsRoot); 00534 _dsRoot->setActive(false); 00535 endEditCP(_dsRoot); 00536 00537 // Add the grab background 00538 00539 _cmBack = TextureGrabBackground::create(); 00540 addRefCP(_cmBack); 00541 00542 beginEditCP(_cmBack); 00543 _cmBack->setTexture(tex); 00544 _cmBack->setColor(Color3f(0,0,0)); 00545 endEditCP(_cmBack); 00546 00547 _cmPort = Viewport::create(); 00548 addRefCP(_cmPort); 00549 00550 beginEditCP(_cmPort); 00551 _cmPort->setCamera(_cam); 00552 _cmPort->setRoot(_cmRoot); 00553 _cmPort->setBackground(_cmBack); 00554 _cmPort->setLeft(port->getLeft()); 00555 _cmPort->setRight(port->getRight()); 00556 _cmPort->setBottom(port->getBottom()); 00557 _cmPort->setTop(port->getTop()); 00558 endEditCP(_cmPort); 00559 00560 // create down scale viewport 00561 00562 ImagePtr img2 = Image::create(); 00563 beginEditCP(img2); 00564 img2->set(GL_RGB,1,1); 00565 endEditCP(img2); 00566 00567 TextureChunkPtr tex2 = TextureChunk::create(); 00568 beginEditCP(tex2); 00569 tex2->setImage(img2); 00570 tex2->setMinFilter(GL_NEAREST); 00571 tex2->setMagFilter(GL_NEAREST); 00572 tex2->setScale(false); 00573 tex2->setEnvMode(GL_REPLACE); 00574 endEditCP(tex2); 00575 00576 _dsBack = TextureGrabBackground::create(); 00577 addRefCP(_dsBack); 00578 beginEditCP(_dsBack); 00579 _dsBack->setTexture(tex2); 00580 _dsBack->setColor(Color3f(1,0,0)); 00581 endEditCP(_dsBack); 00582 00583 // create the down scale viewport 00584 _dsPort = Viewport::create(); 00585 addRefCP(_dsPort); 00586 beginEditCP(_dsPort); 00587 _dsPort->setCamera(_cam); 00588 _dsPort->setRoot(_dsRoot); 00589 _dsPort->setBackground(_dsBack); 00590 _dsPort->setLeft(port->getLeft()); 00591 _dsPort->setRight(port->getRight()); 00592 _dsPort->setBottom(port->getBottom()); 00593 _dsPort->setTop(port->getTop()); 00594 endEditCP(_dsPort); 00595 00596 // vp2 00597 00598 _ds2Back = SolidBackground::create(); 00599 addRefCP(_ds2Back); 00600 beginEditCP(_ds2Back); 00601 _ds2Back->setColor(Color3f(1,0,0)); 00602 endEditCP(_ds2Back); 00603 00604 ChunkMaterialPtr mat2 = ChunkMaterial::create(); 00605 MaterialChunkPtr matc = MaterialChunk::create(); 00606 00607 beginEditCP(mat2); 00608 mat2->addChunk(tex2); 00609 endEditCP(mat2); 00610 00611 GeometryPtr geo2 = Geometry::create(); 00612 00613 GeoPLengthsPtr lens2 = GeoPLengthsUI32::create(); 00614 beginEditCP(lens2); 00615 lens->addValue(4); 00616 endEditCP(lens2); 00617 00618 _positionsScale = GeoPositions3f::create(); 00619 beginEditCP(_positionsScale); 00620 _positionsScale->addValue(Pnt3f(-1, -1, -0.5)); 00621 _positionsScale->addValue(Pnt3f( 1, -1, -0.5)); 00622 _positionsScale->addValue(Pnt3f( 1, 1, -0.5)); 00623 _positionsScale->addValue(Pnt3f(-1, 1, -0.5)); 00624 endEditCP(_positionsScale); 00625 00626 _texcoordsScale = GeoTexCoords2f::create(); 00627 beginEditCP(_texcoordsScale); 00628 _texcoordsScale->addValue(Vec2f(0,0)); 00629 _texcoordsScale->addValue(Vec2f(1,0)); 00630 _texcoordsScale->addValue(Vec2f(1,1)); 00631 _texcoordsScale->addValue(Vec2f(0,1)); 00632 endEditCP(_texcoordsScale); 00633 00634 beginEditCP(geo2); 00635 geo2->setMaterial(mat2); 00636 geo2->setPositions(_positionsScale); 00637 geo2->setTypes(types); 00638 geo2->setTexCoords(_texcoordsScale); 00639 geo2->setLengths(lens2); 00640 endEditCP(geo2); 00641 00642 _ds2Root = Node::create(); 00643 beginEditCP(_ds2Root); 00644 _ds2Root->setCore(geo2); 00645 endEditCP(_ds2Root); 00646 00647 _dsPort2 = Viewport::create(); 00648 addRefCP(_dsPort2); 00649 beginEditCP(_dsPort2); 00650 _dsPort2->setCamera(_cam); 00651 _dsPort2->setRoot(_ds2Root); 00652 _dsPort2->setBackground(_ds2Back); 00653 _dsPort2->setLeft(0); 00654 _dsPort2->setRight(1); 00655 _dsPort2->setBottom(0); 00656 _dsPort2->setTop(1); 00657 endEditCP(_dsPort2); 00658 00659 updateMatrix(); 00660 updateGamma(); 00661 00662 00663 // --------------------------------------------------------------- 00664 // set projection grid 00665 // --------------------------------------------------------------- 00666 00667 UInt32 x,y; 00668 Int32 left=0,top=1,bottom=0,right=1; 00669 left = port->getPixelLeft(); 00670 right = port->getPixelRight(); 00671 bottom = port->getPixelBottom(); 00672 top = port->getPixelTop(); 00673 00674 Real32 h=top-bottom+1; 00675 Real32 w=right-left+1; 00676 Real32 00677 tw = osgnextpower2((UInt32)w), 00678 th = osgnextpower2((UInt32)h); 00679 00680 beginEditCP(_texcoords); 00681 beginEditCP(_positions); 00682 _positions->clear(); 00683 _texcoords->clear(); 00684 00685 if(getGrid().size() == 0 || 00686 getGrid().size() != getGridWidth() * getGridHeight() || 00687 getGridWidth() < 2 || 00688 getGridHeight() < 2) 00689 { 00690 if(!_nonPowerOfTwo) 00691 { 00692 _texcoords->addValue(Vec2f(0,0)); 00693 _texcoords->addValue(Vec2f(w/tw,0)); 00694 _texcoords->addValue(Vec2f(w/tw,h/th)); 00695 _texcoords->addValue(Vec2f(0,h/th)); 00696 } 00697 else 00698 { 00699 _texcoords->addValue(Vec2f(0,0)); 00700 _texcoords->addValue(Vec2f(1,0)); 00701 _texcoords->addValue(Vec2f(1,1)); 00702 _texcoords->addValue(Vec2f(0,1)); 00703 } 00704 _positions->addValue(Pnt3f(-1, -1, -0.5)); 00705 _positions->addValue(Pnt3f( 1, -1, -0.5)); 00706 _positions->addValue(Pnt3f( 1, 1, -0.5)); 00707 _positions->addValue(Pnt3f(-1, 1, -0.5)); 00708 } 00709 else 00710 { 00711 UInt32 i; 00712 bool absolute=false; 00713 for(i=0;i<getGrid().size();++i) 00714 if(getGrid()[i][0]>1 || 00715 getGrid()[i][1]>1) 00716 { 00717 absolute=true; 00718 break; 00719 } 00720 for(int y=0 ; y<getGridHeight()-1 ; ++y) 00721 { 00722 for(int x=0 ; x<getGridWidth()-1 ; ++x) 00723 { 00724 // calculate texture coordinates 00725 Vec2f tex[4]; 00726 tex[0] = Vec2f( x, y); 00727 tex[1] = Vec2f(x+1, y); 00728 tex[2] = Vec2f(x+1,y+1); 00729 tex[3] = Vec2f( x,y+1); 00730 00731 // get position 00732 Vec2f pos[4]; 00733 pos[0] = getGrid()[y*getGridWidth()+x]; 00734 pos[1] = getGrid()[y*getGridWidth()+x+1]; 00735 pos[2] = getGrid()[(y+1)*getGridWidth()+x+1]; 00736 pos[3] = getGrid()[(y+1)*getGridWidth()+x]; 00737 for(i=0 ; i<4 ; ++i) 00738 { 00739 // scale to 0 - 1 00740 tex[i][0] /= getGridWidth() - 1; 00741 tex[i][1] /= getGridHeight() - 1; 00742 // scale to ^2 texture size 00743 if(!_nonPowerOfTwo) 00744 { 00745 tex[i][0] *= w/(float)tw; 00746 tex[i][1] *= h/(float)th; 00747 } 00748 if(absolute) 00749 { 00750 pos[i][0] /= (w-1); 00751 pos[i][1] /= (h-1); 00752 } 00753 _texcoords->addValue(tex[i]); 00754 Pnt3f p(pos[i][0],pos[i][1],0); 00755 _positions->addValue(p*2-Vec3f(1,1,1)); 00756 } 00757 } 00758 } 00759 } 00760 endEditCP(_texcoords); 00761 00762 beginEditCP(lens); 00763 lens->clear(); 00764 lens->addValue(_positions->getSize()); 00765 endEditCP(lens); 00766 00767 endEditCP(_positions); 00768 00769 // --------------------------------------------------------------- 00770 // set downscale params 00771 // --------------------------------------------------------------- 00772 00773 UInt32 w2 = UInt32(((right - left) + 1) * getScaleDown()); 00774 UInt32 h2 = UInt32(((top - bottom) + 1) * getScaleDown()); 00775 UInt32 lefts = Int32(left * getScaleDown()); 00776 UInt32 rights = w2 - 1; 00777 UInt32 bottoms = Int32(bottom * getScaleDown()); 00778 UInt32 tops = h2 - 1; 00779 00780 _dsPort->setSize(lefts,bottoms,rights,tops); 00781 _dsPort2->setSize(left,bottom,right,top); 00782 00783 Real32 h3= tops - bottoms + 1; 00784 Real32 w3= rights - lefts + 1; 00785 Real32 tw2 = osgnextpower2((UInt32) w2); 00786 Real32 th2 = osgnextpower2((UInt32) h2); 00787 00788 beginEditCP(_texcoordsScale); 00789 _texcoordsScale->clear(); 00790 _texcoordsScale->addValue(Vec2f(0,0)); 00791 _texcoordsScale->addValue(Vec2f(w3/tw2,0)); 00792 _texcoordsScale->addValue(Vec2f(w3/tw2,h3/th2)); 00793 _texcoordsScale->addValue(Vec2f(0,h3/th2)); 00794 endEditCP(_texcoordsScale); 00795 00796 beginEditCP(_positionsScale); 00797 _positionsScale->clear(); 00798 _positionsScale->addValue(Pnt3f(-1, -1, -0.5)); 00799 _positionsScale->addValue(Pnt3f( 1, -1, -0.5)); 00800 _positionsScale->addValue(Pnt3f( 1, 1, -0.5)); 00801 _positionsScale->addValue(Pnt3f(-1, 1, -0.5)); 00802 endEditCP(_positionsScale); 00803 00804 }
| void DisplayCalibration::updateMatrix | ( | ) | [protected] |
Definition at line 874 of file OSGDisplayCalibration.cpp.
References _fragProgram, _regCombiner, _useFragmentProgram, osg::beginEditCP(), osg::endEditCP(), osg::DisplayCalibrationBase::getColorMatrix(), GL_CONSTANT_COLOR0_NV, GL_CONSTANT_COLOR1_NV, GL_DISCARD_NV, GL_E_TIMES_F_NV, GL_EXPAND_NORMAL_NV, GL_PRIMARY_COLOR_NV, GL_SPARE0_NV, GL_SPARE1_NV, GL_TEXTURE0_ARB, GL_TEXTURE1_ARB, GL_TEXTURE2_ARB, GL_TEXTURE3_ARB, GL_UNSIGNED_IDENTITY_NV, GL_UNSIGNED_INVERT_NV, and osg::ProgramChunkBase::ParamValuesFieldMask.
Referenced by createCMViewports().
00875 { 00876 if(_useFragmentProgram) 00877 { 00878 beginEditCP(_fragProgram, FragmentProgramChunk::ParamValuesFieldMask); 00879 00880 _fragProgram->setParameter(1, getColorMatrix()[0]); 00881 _fragProgram->setParameter(2, getColorMatrix()[1]); 00882 _fragProgram->setParameter(3, getColorMatrix()[2]); 00883 _fragProgram->setParameter(4, getColorMatrix()[3]); 00884 00885 endEditCP(_fragProgram, FragmentProgramChunk::ParamValuesFieldMask); 00886 00887 } 00888 else 00889 { 00890 #if 0 00891 Color4f 00892 m1(m[0][0]/2+.5,m[0][1]/2+.5,m[0][2]/2+.5,0), 00893 m2(m[1][0]/2+.5,m[1][1]/2+.5,m[1][2]/2+.5,0), 00894 m3(m[2][0]/2+.5,m[2][1]/2+.5,m[2][2]/2+.5,0), 00895 m4(m[3][0]/2+.5,m[3][1]/2+.5,m[3][2]/2+.5,0); 00896 #endif 00897 Color4f 00898 m1(getColorMatrix()[0][0]/2+.5, 00899 getColorMatrix()[0][1]/2+.5, 00900 getColorMatrix()[0][2]/2+.5,0), 00901 m2(getColorMatrix()[1][0]/2+.5, 00902 getColorMatrix()[1][1]/2+.5, 00903 getColorMatrix()[1][2]/2+.5,0), 00904 m3(getColorMatrix()[2][0]/2+.5, 00905 getColorMatrix()[2][1]/2+.5, 00906 getColorMatrix()[2][2]/2+.5,0), 00907 m4(getColorMatrix()[3][0]/2+.5, 00908 getColorMatrix()[3][1]/2+.5, 00909 getColorMatrix()[3][2]/2+.5,0); 00910 00911 Color4f selectR(1,0,0,0), selectG(0,1,0,0), selectB(0,0,1,0); 00912 00913 UInt16 ncomb = 0; 00914 00915 beginEditCP(_regCombiner); 00916 00917 _regCombiner->setCombinerRGB(ncomb, 00918 GL_TEXTURE1_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB, // variable A 00919 GL_ZERO, GL_UNSIGNED_INVERT_NV, GL_RGB, // variable B 00920 GL_TEXTURE2_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB, // variable C 00921 GL_ZERO, GL_UNSIGNED_INVERT_NV, GL_RGB, // variable D 00922 GL_DISCARD_NV, GL_DISCARD_NV, GL_TEXTURE0_ARB, // ABout, CDout, Sumout 00923 GL_NONE, GL_NONE, // scale, bias 00924 GL_FALSE, GL_FALSE, GL_FALSE ); // ABdot, CDdot, muxSum 00925 00926 ncomb++; 00927 00928 // first combiner: spare0 = dot(col, m1), spare1 = dot(col,m2) 00929 00930 _regCombiner->setCombinerColors(ncomb, m1, m2); 00931 00932 _regCombiner->setCombinerRGB( 00933 ncomb, 00934 GL_TEXTURE0_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB, // variable A 00935 GL_CONSTANT_COLOR0_NV, GL_EXPAND_NORMAL_NV, GL_RGB, // variable B 00936 GL_TEXTURE0_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB, // variable C 00937 GL_CONSTANT_COLOR1_NV, GL_EXPAND_NORMAL_NV, GL_RGB, // variable D 00938 GL_SPARE0_NV, GL_SPARE1_NV, GL_DISCARD_NV, // ABout, CDout, Sumout 00939 GL_NONE, GL_NONE, // scale, bias 00940 GL_TRUE, GL_TRUE, GL_FALSE ); // ABdot, CDdot, muxSum 00941 00942 ncomb++; 00943 00944 // second combiner: tex0 = dot(col, m3), spare0 = spare0.r 00945 00946 _regCombiner->setCombinerColors(ncomb, m3, selectR); 00947 00948 _regCombiner->setCombinerRGB(ncomb, 00949 GL_TEXTURE0_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB, // variable A 00950 GL_CONSTANT_COLOR0_NV, GL_EXPAND_NORMAL_NV, GL_RGB, // variable B 00951 GL_SPARE0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB, // variable C 00952 GL_CONSTANT_COLOR1_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB, // variable D 00953 GL_TEXTURE3_ARB, GL_SPARE0_NV, GL_DISCARD_NV, // ABout, CDout, Sumout 00954 GL_NONE, GL_NONE, // scale, bias 00955 GL_TRUE, GL_FALSE, GL_FALSE ); // ABdot, CDdot, muxSum 00956 00957 ncomb++; 00958 00959 // final combiner 00960 00961 _regCombiner->setColor0(selectG); 00962 _regCombiner->setColor1(selectB); 00963 00964 // RGB = D + AB + (1-A)C 00965 _regCombiner->setFinalCombiner( 00966 GL_CONSTANT_COLOR0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB, // variable A 00967 GL_SPARE1_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB, // variable B 00968 GL_E_TIMES_F_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB, // variable C 00969 GL_SPARE0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB, // variable D 00970 GL_CONSTANT_COLOR1_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB, // variable E 00971 GL_TEXTURE3_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB, // variable F 00972 GL_PRIMARY_COLOR_NV, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA );// variable G 00973 00974 endEditCP(_regCombiner); 00975 } 00976 }
| void DisplayCalibration::updateGamma | ( | ) | [protected] |
Definition at line 806 of file OSGDisplayCalibration.cpp.
References _argammachunk, _argammaimg, _fragProgram, _gbgammachunk, _gbgammaimg, _useFragmentProgram, osg::beginEditCP(), osg::endEditCP(), osg::DisplayCalibrationBase::getGamma(), osg::DisplayCalibrationBase::getGammaRamp(), osg::ProgramChunkBase::ParamValuesFieldMask, and osg::MField< FieldTypeT, fieldNameSpace >::size().
Referenced by createCMViewports().
00807 { 00808 UInt16 x,y; 00809 UInt8 *data; 00810 UInt32 res = getGammaRamp().size(); 00811 00812 if(res == 0) 00813 res = 256; 00814 00815 if(_useFragmentProgram) 00816 { 00817 beginEditCP(_fragProgram, FragmentProgramChunk::ParamValuesFieldMask); 00818 00819 _fragProgram->setParameter(5, Vec4f(getGamma(),getGamma(),getGamma(),0)); 00820 00821 endEditCP(_fragProgram, FragmentProgramChunk::ParamValuesFieldMask); 00822 } 00823 else 00824 { 00825 _argammaimg->set(GL_RGB,res,res); 00826 00827 beginEditCP(_argammaimg); 00828 data = _argammaimg->getData(); 00829 00830 memset(data, 0, res * res * 3); 00831 00832 for(y = 0; y < res; ++y) 00833 { 00834 UInt8 v = (int)(pow(y/(Real32)(res-1),getGamma())*255+0.5); 00835 for(x = 0; x < res; ++x) 00836 { 00837 *data++ = v; 00838 *data++ = 0; 00839 *data++ = 0; 00840 } 00841 } 00842 endEditCP(_argammaimg); 00843 00844 beginEditCP(_argammachunk); 00845 _argammachunk->setImage(_argammaimg); 00846 endEditCP(_argammachunk); 00847 00848 _gbgammaimg->set(GL_RGB,res,res); 00849 00850 beginEditCP(_gbgammaimg); 00851 data = _gbgammaimg->getData(); 00852 00853 memset(data, 0, res * res * 3); 00854 00855 for(y = 0; y < res; ++y) 00856 { 00857 UInt8 vy = (int)(pow(y/(Real32)(res-1),getGamma())*255+0.5); 00858 for(x = 0; x < res; ++x) 00859 { 00860 UInt8 vx = (int)(pow(x/(Real32)(res-1),getGamma())*255+0.5); 00861 *data++ = 0; 00862 *data++ = vx; 00863 *data++ = vy; 00864 } 00865 } 00866 endEditCP(_gbgammaimg); 00867 00868 beginEditCP(_gbgammachunk); 00869 _gbgammachunk->setImage(_gbgammaimg); 00870 endEditCP(_gbgammachunk); 00871 } 00872 }
| void osg::DisplayCalibration::updateGrid | ( | ViewportPtr | port | ) | [protected] |
| void osg::DisplayCalibration::createPincushionGrid | ( | ) | [protected] |
| void DisplayCalibration::initMethod | ( | void | ) | [static, private] |
| void osg::DisplayCalibration::operator= | ( | const DisplayCalibration & | source | ) | [private] |
| osg::FieldContainerType & osg::DisplayCalibrationBase::getClassType | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 58 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_type.
Referenced by osg::DisplayCalibrationBase::create().
00059 { 00060 return _type; 00061 }
| osg::UInt32 osg::DisplayCalibrationBase::getClassTypeId | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 65 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_type, and osg::TypeBase::getId().
00066 { 00067 return _type.getId(); 00068 }
| FieldContainerType & DisplayCalibrationBase::getType | ( | void | ) | [virtual, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 194 of file OSGDisplayCalibrationBase.cpp.
References osg::DisplayCalibrationBase::_type.
00195 { 00196 return _type; 00197 }
| const FieldContainerType & DisplayCalibrationBase::getType | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 199 of file OSGDisplayCalibrationBase.cpp.
References osg::DisplayCalibrationBase::_type.
00200 { 00201 return _type; 00202 }
| UInt32 DisplayCalibrationBase::getContainerSize | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 214 of file OSGDisplayCalibrationBase.cpp.
00215 { 00216 return sizeof(DisplayCalibration); 00217 }
| SFBool * osg::DisplayCalibrationBase::getSFEnabled | ( | void | ) | [inline, inherited] |
Definition at line 101 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfEnabled.
00102 { 00103 return &_sfEnabled; 00104 }
| SFString * osg::DisplayCalibrationBase::getSFServer | ( | void | ) | [inline, inherited] |
Definition at line 108 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfServer.
00109 { 00110 return &_sfServer; 00111 }
| SFMatrix * osg::DisplayCalibrationBase::getSFColorMatrix | ( | void | ) | [inline, inherited] |
Definition at line 115 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfColorMatrix.
00116 { 00117 return &_sfColorMatrix; 00118 }
| SFReal32 * osg::DisplayCalibrationBase::getSFGamma | ( | void | ) | [inline, inherited] |
Definition at line 122 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfGamma.
00123 { 00124 return &_sfGamma; 00125 }
| MFColor3f * osg::DisplayCalibrationBase::getMFGammaRamp | ( | void | ) | [inline, inherited] |
Definition at line 129 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_mfGammaRamp.
00130 { 00131 return &_mfGammaRamp; 00132 }
| SFUInt32 * osg::DisplayCalibrationBase::getSFGridWidth | ( | void | ) | [inline, inherited] |
Definition at line 136 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfGridWidth.
00137 { 00138 return &_sfGridWidth; 00139 }
| SFUInt32 * osg::DisplayCalibrationBase::getSFGridHeight | ( | void | ) | [inline, inherited] |
Definition at line 143 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfGridHeight.
00144 { 00145 return &_sfGridHeight; 00146 }
| MFVec2f * osg::DisplayCalibrationBase::getMFGrid | ( | void | ) | [inline, inherited] |
Definition at line 150 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_mfGrid.
00151 { 00152 return &_mfGrid; 00153 }
| SFReal32 * osg::DisplayCalibrationBase::getSFScaleDown | ( | void | ) | [inline, inherited] |
Definition at line 157 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfScaleDown.
00158 { 00159 return &_sfScaleDown; 00160 }
| bool & osg::DisplayCalibrationBase::getEnabled | ( | void | ) | [inline, inherited] |
Definition at line 165 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfEnabled, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by calibrate().
00166 { 00167 return _sfEnabled.getValue(); 00168 }
| const bool & osg::DisplayCalibrationBase::getEnabled | ( | void | ) | const [inline, inherited] |
Definition at line 172 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfEnabled, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00173 { 00174 return _sfEnabled.getValue(); 00175 }
| std::string & osg::DisplayCalibrationBase::getServer | ( | void | ) | [inline, inherited] |
Definition at line 186 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfServer, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00187 { 00188 return _sfServer.getValue(); 00189 }
| const std::string & osg::DisplayCalibrationBase::getServer | ( | void | ) | const [inline, inherited] |
Definition at line 193 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfServer, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00194 { 00195 return _sfServer.getValue(); 00196 }
| Matrix & osg::DisplayCalibrationBase::getColorMatrix | ( | void | ) | [inline, inherited] |
Definition at line 207 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfColorMatrix, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by updateMatrix().
00208 { 00209 return _sfColorMatrix.getValue(); 00210 }
| const Matrix & osg::DisplayCalibrationBase::getColorMatrix | ( | void | ) | const [inline, inherited] |
Definition at line 214 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfColorMatrix, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00215 { 00216 return _sfColorMatrix.getValue(); 00217 }
| Real32 & osg::DisplayCalibrationBase::getGamma | ( | void | ) | [inline, inherited] |
Definition at line 228 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfGamma, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by updateGamma().
00229 { 00230 return _sfGamma.getValue(); 00231 }
| const Real32 & osg::DisplayCalibrationBase::getGamma | ( | void | ) | const [inline, inherited] |
Definition at line 235 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfGamma, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00236 { 00237 return _sfGamma.getValue(); 00238 }
| UInt32 & osg::DisplayCalibrationBase::getGridWidth | ( | void | ) | [inline, inherited] |
Definition at line 249 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfGridWidth, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by createCMViewports().
00250 { 00251 return _sfGridWidth.getValue(); 00252 }
| const UInt32 & osg::DisplayCalibrationBase::getGridWidth | ( | void | ) | const [inline, inherited] |
Definition at line 256 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfGridWidth, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00257 { 00258 return _sfGridWidth.getValue(); 00259 }
| UInt32 & osg::DisplayCalibrationBase::getGridHeight | ( | void | ) | [inline, inherited] |
Definition at line 270 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfGridHeight, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by createCMViewports().
00271 { 00272 return _sfGridHeight.getValue(); 00273 }
| const UInt32 & osg::DisplayCalibrationBase::getGridHeight | ( | void | ) | const [inline, inherited] |
Definition at line 277 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfGridHeight, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00278 { 00279 return _sfGridHeight.getValue(); 00280 }
| Real32 & osg::DisplayCalibrationBase::getScaleDown | ( | void | ) | [inline, inherited] |
Definition at line 291 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfScaleDown, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by calibrate(), and createCMViewports().
00292 { 00293 return _sfScaleDown.getValue(); 00294 }
| const Real32 & osg::DisplayCalibrationBase::getScaleDown | ( | void | ) | const [inline, inherited] |
Definition at line 298 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfScaleDown, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00299 { 00300 return _sfScaleDown.getValue(); 00301 }
Definition at line 313 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_mfGammaRamp.
00314 { 00315 return _mfGammaRamp[index]; 00316 }
| MFColor3f & osg::DisplayCalibrationBase::getGammaRamp | ( | void | ) | [inline, inherited] |
Definition at line 320 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_mfGammaRamp.
Referenced by createCMViewports(), and updateGamma().
00321 { 00322 return _mfGammaRamp; 00323 }
| const MFColor3f & osg::DisplayCalibrationBase::getGammaRamp | ( | void | ) | const [inline, inherited] |
Definition at line 327 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_mfGammaRamp.
00328 { 00329 return _mfGammaRamp; 00330 }
Definition at line 334 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_mfGrid.
00335 { 00336 return _mfGrid[index]; 00337 }
| MFVec2f & osg::DisplayCalibrationBase::getGrid | ( | void | ) | [inline, inherited] |
Definition at line 341 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_mfGrid.
Referenced by createCMViewports().
00342 { 00343 return _mfGrid; 00344 }
| const MFVec2f & osg::DisplayCalibrationBase::getGrid | ( | void | ) | const [inline, inherited] |
Definition at line 348 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_mfGrid.
00349 { 00350 return _mfGrid; 00351 }
| void osg::DisplayCalibrationBase::setEnabled | ( | const bool & | value | ) | [inline, inherited] |
Definition at line 179 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfEnabled, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00180 { 00181 _sfEnabled.setValue(value); 00182 }
| void osg::DisplayCalibrationBase::setServer | ( | const std::string & | value | ) | [inline, inherited] |
Definition at line 200 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfServer, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| void osg::DisplayCalibrationBase::setColorMatrix | ( | const Matrix & | value | ) | [inline, inherited] |
Definition at line 221 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfColorMatrix, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00222 { 00223 _sfColorMatrix.setValue(value); 00224 }
| void osg::DisplayCalibrationBase::setGamma | ( | const Real32 & | value | ) | [inline, inherited] |
Definition at line 242 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfGamma, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| void osg::DisplayCalibrationBase::setGridWidth | ( | const UInt32 & | value | ) | [inline, inherited] |
Definition at line 263 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfGridWidth, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00264 { 00265 _sfGridWidth.setValue(value); 00266 }
| void osg::DisplayCalibrationBase::setGridHeight | ( | const UInt32 & | value | ) | [inline, inherited] |
Definition at line 284 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfGridHeight, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00285 { 00286 _sfGridHeight.setValue(value); 00287 }
| void osg::DisplayCalibrationBase::setScaleDown | ( | const Real32 & | value | ) | [inline, inherited] |
Definition at line 305 of file OSGDisplayCalibrationBase.inl.
References osg::DisplayCalibrationBase::_sfScaleDown, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
Referenced by createCMViewports().
00306 { 00307 _sfScaleDown.setValue(value); 00308 }
Reimplemented from osg::AttachmentContainer.
Definition at line 294 of file OSGDisplayCalibrationBase.cpp.
References osg::DisplayCalibrationBase::_mfGammaRamp, osg::DisplayCalibrationBase::_mfGrid, osg::DisplayCalibrationBase::_sfColorMatrix, osg::DisplayCalibrationBase::_sfEnabled, osg::DisplayCalibrationBase::_sfGamma, osg::DisplayCalibrationBase::_sfGridHeight, osg::DisplayCalibrationBase::_sfGridWidth, osg::DisplayCalibrationBase::_sfScaleDown, osg::DisplayCalibrationBase::_sfServer, osg::DisplayCalibrationBase::ColorMatrixFieldMask, osg::DisplayCalibrationBase::EnabledFieldMask, osg::DisplayCalibrationBase::GammaFieldMask, osg::DisplayCalibrationBase::GammaRampFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::AttachmentContainer::getBinSize(), osg::DisplayCalibrationBase::GridFieldMask, osg::DisplayCalibrationBase::GridHeightFieldMask, osg::DisplayCalibrationBase::GridWidthFieldMask, osg::FieldBits::NoField, osg::DisplayCalibrationBase::ScaleDownFieldMask, and osg::DisplayCalibrationBase::ServerFieldMask.
00295 { 00296 UInt32 returnValue = Inherited::getBinSize(whichField); 00297 00298 if(FieldBits::NoField != (EnabledFieldMask & whichField)) 00299 { 00300 returnValue += _sfEnabled.getBinSize(); 00301 } 00302 00303 if(FieldBits::NoField != (ServerFieldMask & whichField)) 00304 { 00305 returnValue += _sfServer.getBinSize(); 00306 } 00307 00308 if(FieldBits::NoField != (ColorMatrixFieldMask & whichField)) 00309 { 00310 returnValue += _sfColorMatrix.getBinSize(); 00311 } 00312 00313 if(FieldBits::NoField != (GammaFieldMask & whichField)) 00314 { 00315 returnValue += _sfGamma.getBinSize(); 00316 } 00317 00318 if(FieldBits::NoField != (GammaRampFieldMask & whichField)) 00319 { 00320 returnValue += _mfGammaRamp.getBinSize(); 00321 } 00322 00323 if(FieldBits::NoField != (GridWidthFieldMask & whichField)) 00324 { 00325 returnValue += _sfGridWidth.getBinSize(); 00326 } 00327 00328 if(FieldBits::NoField != (GridHeightFieldMask & whichField)) 00329 { 00330 returnValue += _sfGridHeight.getBinSize(); 00331 } 00332 00333 if(FieldBits::NoField != (GridFieldMask & whichField)) 00334 { 00335 returnValue += _mfGrid.getBinSize(); 00336 } 00337 00338 if(FieldBits::NoField != (ScaleDownFieldMask & whichField)) 00339 { 00340 returnValue += _sfScaleDown.getBinSize(); 00341 } 00342 00343 00344 return returnValue; 00345 }
| void DisplayCalibrationBase::copyToBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 347 of file OSGDisplayCalibrationBase.cpp.
References osg::DisplayCalibrationBase::_mfGammaRamp, osg::DisplayCalibrationBase::_mfGrid, osg::DisplayCalibrationBase::_sfColorMatrix, osg::DisplayCalibrationBase::_sfEnabled, osg::DisplayCalibrationBase::_sfGamma, osg::DisplayCalibrationBase::_sfGridHeight, osg::DisplayCalibrationBase::_sfGridWidth, osg::DisplayCalibrationBase::_sfScaleDown, osg::DisplayCalibrationBase::_sfServer, osg::DisplayCalibrationBase::ColorMatrixFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::AttachmentContainer::copyToBin(), osg::DisplayCalibrationBase::EnabledFieldMask, osg::DisplayCalibrationBase::GammaFieldMask, osg::DisplayCalibrationBase::GammaRampFieldMask, osg::DisplayCalibrationBase::GridFieldMask, osg::DisplayCalibrationBase::GridHeightFieldMask, osg::DisplayCalibrationBase::GridWidthFieldMask, osg::FieldBits::NoField, osg::DisplayCalibrationBase::ScaleDownFieldMask, and osg::DisplayCalibrationBase::ServerFieldMask.
00349 { 00350 Inherited::copyToBin(pMem, whichField); 00351 00352 if(FieldBits::NoField != (EnabledFieldMask & whichField)) 00353 { 00354 _sfEnabled.copyToBin(pMem); 00355 } 00356 00357 if(FieldBits::NoField != (ServerFieldMask & whichField)) 00358 { 00359 _sfServer.copyToBin(pMem); 00360 } 00361 00362 if(FieldBits::NoField != (ColorMatrixFieldMask & whichField)) 00363 { 00364 _sfColorMatrix.copyToBin(pMem); 00365 } 00366 00367 if(FieldBits::NoField != (GammaFieldMask & whichField)) 00368 { 00369 _sfGamma.copyToBin(pMem); 00370 } 00371 00372 if(FieldBits::NoField != (GammaRampFieldMask & whichField)) 00373 { 00374 _mfGammaRamp.copyToBin(pMem); 00375 } 00376 00377 if(FieldBits::NoField != (GridWidthFieldMask & whichField)) 00378 { 00379 _sfGridWidth.copyToBin(pMem); 00380 } 00381 00382 if(FieldBits::NoField != (GridHeightFieldMask & whichField)) 00383 { 00384 _sfGridHeight.copyToBin(pMem); 00385 } 00386 00387 if(FieldBits::NoField != (GridFieldMask & whichField)) 00388 { 00389 _mfGrid.copyToBin(pMem); 00390 } 00391 00392 if(FieldBits::NoField != (ScaleDownFieldMask & whichField)) 00393 { 00394 _sfScaleDown.copyToBin(pMem); 00395 } 00396 00397 00398 }
| void DisplayCalibrationBase::copyFromBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 400 of file OSGDisplayCalibrationBase.cpp.
References osg::DisplayCalibrationBase::_mfGammaRamp, osg::DisplayCalibrationBase::_mfGrid, osg::DisplayCalibrationBase::_sfColorMatrix, osg::DisplayCalibrationBase::_sfEnabled, osg::DisplayCalibrationBase::_sfGamma, osg::DisplayCalibrationBase::_sfGridHeight, osg::DisplayCalibrationBase::_sfGridWidth, osg::DisplayCalibrationBase::_sfScaleDown, osg::DisplayCalibrationBase::_sfServer, osg::DisplayCalibrationBase::ColorMatrixFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::AttachmentContainer::copyFromBin(), osg::DisplayCalibrationBase::EnabledFieldMask, osg::DisplayCalibrationBase::GammaFieldMask, osg::DisplayCalibrationBase::GammaRampFieldMask, osg::DisplayCalibrationBase::GridFieldMask, osg::DisplayCalibrationBase::GridHeightFieldMask, osg::DisplayCalibrationBase::GridWidthFieldMask, osg::FieldBits::NoField, osg::DisplayCalibrationBase::ScaleDownFieldMask, and osg::DisplayCalibrationBase::ServerFieldMask.
00402 { 00403 Inherited::copyFromBin(pMem, whichField); 00404 00405 if(FieldBits::NoField != (EnabledFieldMask & whichField)) 00406 { 00407 _sfEnabled.copyFromBin(pMem); 00408 } 00409 00410 if(FieldBits::NoField != (ServerFieldMask & whichField)) 00411 { 00412 _sfServer.copyFromBin(pMem); 00413 } 00414 00415 if(FieldBits::NoField != (ColorMatrixFieldMask & whichField)) 00416 { 00417 _sfColorMatrix.copyFromBin(pMem); 00418 } 00419 00420 if(FieldBits::NoField != (GammaFieldMask & whichField)) 00421 { 00422 _sfGamma.copyFromBin(pMem); 00423 } 00424 00425 if(FieldBits::NoField != (GammaRampFieldMask & whichField)) 00426 { 00427 _mfGammaRamp.copyFromBin(pMem); 00428 } 00429 00430 if(FieldBits::NoField != (GridWidthFieldMask & whichField)) 00431 { 00432 _sfGridWidth.copyFromBin(pMem); 00433 } 00434 00435 if(FieldBits::NoField != (GridHeightFieldMask & whichField)) 00436 { 00437 _sfGridHeight.copyFromBin(pMem); 00438 } 00439 00440 if(FieldBits::NoField != (GridFieldMask & whichField)) 00441 { 00442 _mfGrid.copyFromBin(pMem); 00443 } 00444 00445 if(FieldBits::NoField != (ScaleDownFieldMask & whichField)) 00446 { 00447 _sfScaleDown.copyFromBin(pMem); 00448 } 00449 00450 00451 }
| DisplayCalibrationPtr osg::DisplayCalibrationBase::create | ( | void | ) | [inline, static, inherited] |
Definition at line 72 of file OSGDisplayCalibrationBase.inl.
References osg::AttachmentContainerPtr::dcast(), osg::DisplayCalibrationBase::getClassType(), osg::NullFC, and osg::DisplayCalibrationBase::shallowCopy().
Referenced by osg::ClusterWindow::loadCalibration().
00073 { 00074 DisplayCalibrationPtr fc; 00075 00076 if(getClassType().getPrototype() != OSG::NullFC) 00077 { 00078 fc = DisplayCalibrationPtr::dcast( 00079 getClassType().getPrototype()-> shallowCopy()); 00080 } 00081 00082 return fc; 00083 }
| DisplayCalibrationPtr osg::DisplayCalibrationBase::createEmpty | ( | void | ) | [inline, static, inherited] |
Definition at line 87 of file OSGDisplayCalibrationBase.inl.
References osg::FieldContainer::newPtr().
00088 { 00089 DisplayCalibrationPtr returnValue; 00090 00091 newPtr(returnValue); 00092 00093 return returnValue; 00094 }
| FieldContainerPtr DisplayCalibrationBase::shallowCopy | ( | void | ) | const [virtual, inherited] |
Implements osg::FieldContainer.
Definition at line 205 of file OSGDisplayCalibrationBase.cpp.
References osg::FieldContainer::newPtr().
Referenced by osg::DisplayCalibrationBase::create().
00206 { 00207 DisplayCalibrationPtr returnValue; 00208 00209 newPtr(returnValue, dynamic_cast<const DisplayCalibration *>(this)); 00210 00211 return returnValue; 00212 }
| void DisplayCalibrationBase::executeSyncImpl | ( | DisplayCalibrationBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 454 of file OSGDisplayCalibrationBase.cpp.
References osg::DisplayCalibrationBase::_mfGammaRamp, osg::DisplayCalibrationBase::_mfGrid, osg::DisplayCalibrationBase::_sfColorMatrix, osg::DisplayCalibrationBase::_sfEnabled, osg::DisplayCalibrationBase::_sfGamma, osg::DisplayCalibrationBase::_sfGridHeight, osg::DisplayCalibrationBase::_sfGridWidth, osg::DisplayCalibrationBase::_sfScaleDown, osg::DisplayCalibrationBase::_sfServer, osg::DisplayCalibrationBase::ColorMatrixFieldMask, osg::DisplayCalibrationBase::EnabledFieldMask, osg::AttachmentContainer::executeSyncImpl(), osg::DisplayCalibrationBase::GammaFieldMask, osg::DisplayCalibrationBase::GammaRampFieldMask, osg::DisplayCalibrationBase::GridFieldMask, osg::DisplayCalibrationBase::GridHeightFieldMask, osg::DisplayCalibrationBase::GridWidthFieldMask, osg::FieldBits::NoField, osg::DisplayCalibrationBase::ScaleDownFieldMask, osg::DisplayCalibrationBase::ServerFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::syncWith(), and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::DisplayCalibrationBase::executeSync().
00456 { 00457 00458 Inherited::executeSyncImpl(pOther, whichField); 00459 00460 if(FieldBits::NoField != (EnabledFieldMask & whichField)) 00461 _sfEnabled.syncWith(pOther->_sfEnabled); 00462 00463 if(FieldBits::NoField != (ServerFieldMask & whichField)) 00464 _sfServer.syncWith(pOther->_sfServer); 00465 00466 if(FieldBits::NoField != (ColorMatrixFieldMask & whichField)) 00467 _sfColorMatrix.syncWith(pOther->_sfColorMatrix); 00468 00469 if(FieldBits::NoField != (GammaFieldMask & whichField)) 00470 _sfGamma.syncWith(pOther->_sfGamma); 00471 00472 if(FieldBits::NoField != (GammaRampFieldMask & whichField)) 00473 _mfGammaRamp.syncWith(pOther->_mfGammaRamp); 00474 00475 if(FieldBits::NoField != (GridWidthFieldMask & whichField)) 00476 _sfGridWidth.syncWith(pOther->_sfGridWidth); 00477 00478 if(FieldBits::NoField != (GridHeightFieldMask & whichField)) 00479 _sfGridHeight.syncWith(pOther->_sfGridHeight); 00480 00481 if(FieldBits::NoField != (GridFieldMask & whichField)) 00482 _mfGrid.syncWith(pOther->_mfGrid); 00483 00484 if(FieldBits::NoField != (ScaleDownFieldMask & whichField)) 00485 _sfScaleDown.syncWith(pOther->_sfScaleDown); 00486 00487 00488 }
| void AttachmentContainer::executeSyncImpl | ( | AttachmentContainer * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 316 of file OSGAttachmentContainer.cpp.
References osg::AttachmentContainer::_attachmentMap, osg::AttachmentContainer::AttachmentsFieldMask, osg::FieldContainer::executeSyncImpl(), osg::FieldBits::NoField, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::AttachmentContainer::executeSync(), osg::WindowBase::executeSyncImpl(), osg::ViewportBase::executeSyncImpl(), osg::ShaderParameterBase::executeSyncImpl(), osg::Node::executeSyncImpl(), osg::NodeCore::executeSyncImpl(), osg::MaterialBase::executeSyncImpl(), osg::ImageComposerBase::executeSyncImpl(), osg::ImageBase::executeSyncImpl(), osg::ForegroundBase::executeSyncImpl(), osg::DisplayFilterBase::executeSyncImpl(), osg::DisplayCalibrationBase::executeSyncImpl(), osg::CameraBase::executeSyncImpl(), and osg::BackgroundBase::executeSyncImpl().
00319 { 00320 Inherited::executeSyncImpl(pOther, whichField); 00321 00322 if (FieldBits::NoField != (AttachmentsFieldMask & whichField)) 00323 { 00324 _attachmentMap.syncWith(pOther->_attachmentMap); 00325 } 00326 }
| void osg::FieldContainer::executeSyncImpl | ( | FieldContainer * | pOther, | |
| const BitVector & | whichField | |||
| ) | [inline, protected, inherited] |
Definition at line 333 of file OSGFieldContainerImpl.inl.
Referenced by osg::StateBase::executeSyncImpl(), osg::DVRShaderBase::executeSyncImpl(), osg::DVRClipGeometryBase::executeSyncImpl(), osg::AttachmentContainer::executeSyncImpl(), and osg::Attachment::executeSyncImpl().
| void DisplayCalibrationBase::executeSync | ( | FieldContainer & | other, | |
| const BitVector & | whichField | |||
| ) | [protected, virtual, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 221 of file OSGDisplayCalibrationBase.cpp.
References osg::DisplayCalibrationBase::executeSyncImpl().
00223 { 00224 this->executeSyncImpl((DisplayCalibrationBase *) &other, whichField); 00225 }
| void AttachmentContainer::addAttachment | ( | const AttachmentPtr & | fieldContainerP, | |
| UInt16 | binding = 0 | |||
| ) | [inherited] |
Definition at line 84 of file OSGAttachmentContainer.cpp.
References osg::addRefCP(), osg::beginEditCP(), osg::endEditCP(), osg::NullFC, and osg::subRefCP().
Referenced by osg::AttachmentContainer::AttachmentContainer(), osg::Node::onCreate(), and osg::Image::setAttachmentField().
00086 { 00087 UInt32 key; 00088 00089 if(fieldContainerP == NullFC) 00090 return; 00091 00092 key = (UInt32 (fieldContainerP->getGroupId()) << 16) | binding; 00093 00094 addRefCP(fieldContainerP); 00095 00096 beginEditCP(fieldContainerP, Attachment::ParentsFieldMask); 00097 { 00098 fieldContainerP->addParent(getPtr()); 00099 } 00100 endEditCP (fieldContainerP, Attachment::ParentsFieldMask); 00101 00102 AttachmentMap::iterator fcI = _attachmentMap.getValue().find(key); 00103 00104 if(fcI != _attachmentMap.getValue().end()) 00105 { 00106 beginEditCP((*fcI).second, Attachment::ParentsFieldMask); 00107 { 00108 (*fcI).second->subParent(getPtr()); 00109 } 00110 endEditCP ((*fcI).second, Attachment::ParentsFieldMask); 00111 00112 subRefCP((*fcI).second); 00113 00114 (*fcI).second = fieldContainerP; 00115 } 00116 else 00117 { 00118 _attachmentMap.getValue()[key] = fieldContainerP; 00119 } 00120 }
| void AttachmentContainer::subAttachment | ( | const AttachmentPtr & | fieldContainerP, | |
| UInt16 | binding = 0 | |||
| ) | [inherited] |
Definition at line 122 of file OSGAttachmentContainer.cpp.
References osg::AttachmentContainer::_attachmentMap, osg::beginEditCP(), osg::endEditCP(), osg::AttachmentContainer::getPtr(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::NullFC, osg::Attachment::ParentsFieldMask, and osg::subRefCP().
00124 { 00125 UInt32 key; 00126 00127 AttachmentMap::iterator fcI; 00128 00129 if(fieldContainerP == NullFC) 00130 return; 00131 00132 key = (UInt32(fieldContainerP->getGroupId()) << 16) | binding; 00133 00134 fcI = _attachmentMap.getValue().find(key); 00135 00136 if(fcI != _attachmentMap.getValue().end()) 00137 { 00138 beginEditCP(fieldContainerP, Attachment::ParentsFieldMask); 00139 { 00140 (*fcI).second->subParent(getPtr()); 00141 } 00142 endEditCP (fieldContainerP, Attachment::ParentsFieldMask); 00143 00144 subRefCP((*fcI).second); 00145 00146 _attachmentMap.getValue().erase(fcI); 00147 } 00148 }
| AttachmentPtr AttachmentContainer::findAttachment | ( | UInt32 | groupId, | |
| UInt16 | binding = 0 | |||
| ) | [inherited] |
Definition at line 150 of file OSGAttachmentContainer.cpp.
References osg::AttachmentContainer::_attachmentMap, osg::SField< FieldTypeT, fieldNameSpace >::getValue(), and osg::NullFC.
Referenced by osg::Image::findAttachmentField(), and osg::Image::setAttachmentField().
00152 { 00153 UInt32 key = (UInt32(groupId) << 16) | binding; 00154 00155 AttachmentMap::iterator fcI = _attachmentMap.getValue().find(key); 00156 00157 if(fcI == _attachmentMap.getValue().end()) 00158 { 00159 return NullFC; 00160 } 00161 else 00162 { 00163 return (*fcI).second; 00164 } 00165 }
| AttachmentPtr osg::AttachmentContainer::findAttachment | ( | const FieldContainerType & | type, | |
| UInt16 | binding = 0 | |||
| ) | [inline, inherited] |
Definition at line 57 of file OSGAttachmentContainerImpl.inl.
00060 { 00061 return findAttachment(type.getGroupId(), binding); 00062 }
| SFAttachmentMap * AttachmentContainer::getSFAttachments | ( | void | ) | [inherited] |
Field Access
Definition at line 170 of file OSGAttachmentContainer.cpp.
References osg::AttachmentContainer::_attachmentMap.
00171 { 00172 return &_attachmentMap; 00173 }
| AttachmentContainerPtr AttachmentContainer::getPtr | ( | void | ) | [protected, inherited] |
Definition at line 352 of file OSGAttachmentContainer.cpp.
Referenced by osg::FileGrabForeground::draw(), osg::FBOViewport::render(), osg::AttachmentContainer::subAttachment(), and osg::AttachmentContainer::~AttachmentContainer().
00353 { 00354 return AttachmentContainerPtr(*this); 00355 }
| UInt16 osg::FieldContainer::getClassGroupId | ( | void | ) | [inline, static, inherited] |
Definition at line 71 of file OSGFieldContainerImpl.inl.
References osg::FieldContainer::_type, and osg::FieldContainerType::getGroupId().
00072 { 00073 return _type.getGroupId(); 00074 }
| UInt32 osg::FieldContainer::getTypeId | ( | void | ) | const [inline, inherited] |
Definition at line 77 of file OSGFieldContainerImpl.inl.
References osg::TypeBase::getId(), and osg::FieldContainer::getType().
Referenced by osg::TextureChunk::changeFrom(), and osg::CubeTextureChunk::changeFrom().
00078 { 00079 return getType().getId(); 00080 }
| UInt16 osg::FieldContainer::getGroupId | ( | void | ) | const [inline, inherited] |
Definition at line 83 of file OSGFieldContainerImpl.inl.
References osg::FieldContainerType::getGroupId(), and osg::FieldContainer::getType().
Referenced by osg::fcptrAttributeMap(), osg::Image::setAttachmentField(), and osg::stringAttributeMap().
00084 { 00085 return getType().getGroupId(); 00086 }
| const Char8 * osg::FieldContainer::getTypeName | ( | void | ) | const [inline, inherited] |
Definition at line 89 of file OSGFieldContainerImpl.inl.
References osg::TypeBase::getCName(), and osg::FieldContainer::getType().
00090 { 00091 return getType().getCName(); 00092 }
Generic Field Access
Definition at line 95 of file OSGFieldContainerImpl.inl.
References osg::FieldDescription::getField(), osg::FieldContainerType::getFieldDescription(), and osg::FieldContainer::getType().
Referenced by osg::QFCItem::expand(), osg::VRMLShapeDesc::getFieldAndDesc(), osg::QFieldViewBase::getFieldPtr(), osg::QFieldEditorBase::getFieldPtr(), osg::getParentsField(), and osg::QFCItem::setup().
00096 { 00097 const FieldDescription *desc = getType().getFieldDescription(fieldId); 00098 00099 return desc ? desc->getField(*this) : NULL; 00100 }
Generic Field Access
Definition at line 103 of file OSGFieldContainerImpl.inl.
References osg::FieldContainerType::findFieldDescription(), osg::FieldDescription::getField(), and osg::FieldContainer::getType().
00104 { 00105 const FieldDescription *desc =getType().findFieldDescription(fieldName); 00106 00107 return desc ? desc->getField(*this) : NULL; 00108 }
| void osg::FieldContainer::newPtr | ( | ObjectPtrT & | result, | |
| const typename ObjectPtrT::StoredObjectType * | prototypeP | |||
| ) | [inline, static, protected, inherited] |
Definition at line 138 of file OSGFieldContainerImpl.inl.
References osg::ChangeList::addCreated(), osg::PThreadBase::getAspect(), osg::PThreadBase::getCurrentChangeList(), osg::ThreadManager::getNumAspects(), osg::FieldContainerFactory::registerFieldContainer(), and osg::FieldContainerFactory::the().
Referenced by osg::XWindowBase::createEmpty(), osg::WIN32WindowBase::createEmpty(), osg::ViewportBase::createEmpty(), osg::VertexProgramChunkBase::createEmpty(), osg::TwoSidedLightingChunkBase::createEmpty(), osg::TransformChunkBase::createEmpty(), osg::TransformBase::createEmpty(), osg::TileCameraDecoratorBase::createEmpty(), osg::TextureTransformChunkBase::createEmpty(), osg::TextureGrabForegroundBase::createEmpty(), osg::TextureGrabBackgroundBase::createEmpty(), osg::TextureChunkBase::createEmpty(), osg::TextureBackgroundBase::createEmpty(), osg::TexGenChunkBase::createEmpty(), osg::SwitchMaterialBase::createEmpty(), osg::SwitchBase::createEmpty(), osg::SurfaceBase::createEmpty(), osg::StringAttributeMapBase::createEmpty(), osg::StereoBufferViewportBase::createEmpty(), osg::StencilChunkBase::createEmpty(), osg::StateSortingGroupBase::createEmpty(), osg::StateBase::createEmpty(), osg::SpotLightBase::createEmpty(), osg::SortFirstWindowBase::createEmpty(), osg::SolidBackgroundBase::createEmpty(), osg::SlicesBase::createEmpty(), osg::SkyBackgroundBase::createEmpty(), osg::SimpleTexturedMaterialBase::createEmpty(), osg::SimpleStatisticsForegroundBase::createEmpty(), osg::SimpleMaterialBase::createEmpty(), osg::SHLParameterChunkBase::createEmpty(), osg::SHLChunkBase::createEmpty(), osg::ShearedStereoCameraDecoratorBase::createEmpty(), osg::ShaderParameterVec4fBase::createEmpty(), osg::ShaderParameterVec3fBase::createEmpty(), osg::ShaderParameterVec2fBase::createEmpty(), osg::ShaderParameterStringBase::createEmpty(), osg::ShaderParameterRealBase::createEmpty(), osg::ShaderParameterMVec4fBase::createEmpty(), osg::ShaderParameterMVec3fBase::createEmpty(), osg::ShaderParameterMVec2fBase::createEmpty(), osg::ShaderParameterMRealBase::createEmpty(), osg::ShaderParameterMMatrixBase::createEmpty(), osg::ShaderParameterMIntBase::createEmpty(), osg::ShaderParameterMatrixBase::createEmpty(), osg::ShaderParameterIntBase::createEmpty(), osg::ShaderParameterBoolBase::createEmpty(), osg::ScreenGroupBase::createEmpty(), osg::SClipPlaneChunkBase::createEmpty(), osg::ResolutionDisplayFilterBase::createEmpty(), osg::RenderOptionsBase::createEmpty(), osg::RegisterCombinersChunkBase::createEmpty(), osg::QTWindowBase::createEmpty(), osg::ProxyGroupBase::createEmpty(), osg::ProjectionCameraDecoratorBase::createEmpty(), osg::PolygonForegroundBase::createEmpty(), osg::PolygonChunkBase::createEmpty(), osg::PolygonBackgroundBase::createEmpty(), osg::PointLightBase::createEmpty(), osg::PointChunkBase::createEmpty(), osg::PhongMaterialBase::createEmpty(), osg::PerspectiveCameraBase::createEmpty(), osg::PassiveWindowBase::createEmpty(), osg::PassiveViewportBase::createEmpty(), osg::PassiveBackgroundBase::createEmpty(), osg::ParticlesBase::createEmpty(), osg::OrthographicCameraBase::createEmpty(), osg::OffCenterPerspectiveCameraBase::createEmpty(), osg::MultiPassMaterialBase::createEmpty(), osg::MultiDisplayWindowBase::createEmpty(), osg::MatrixCameraDecoratorBase::createEmpty(), osg::MatrixCameraBase::createEmpty(), osg::MaterialPoolBase::createEmpty(), osg::MaterialGroupBase::createEmpty(), osg::MaterialChunkBase::createEmpty(), osg::LogicOpChunkBase::createEmpty(), osg::LineChunkBase::createEmpty(), osg::LightModelChunkBase::createEmpty(), osg::LightEnvBase::createEmpty(), osg::LightChunkBase::createEmpty(), osg::InverseTransformBase::createEmpty(), osg::InlineBase::createEmpty(), osg::ImageForegroundBase::createEmpty(), osg::ImageBase::createEmpty(), osg::ImageBackgroundBase::createEmpty(), osg::GroupBase::createEmpty(), osg::GraphicStatisticsForegroundBase::createEmpty(), osg::GradientBackgroundBase::createEmpty(), osg::GrabForegroundBase::createEmpty(), osg::GLUTWindowBase::createEmpty(), osg::GeometryBase::createEmpty(), osg::FresnelMaterialBase::createEmpty(), osg::FragmentProgramChunkBase::createEmpty(), osg::FileGrabForegroundBase::createEmpty(), osg::FCPtrAttributeMapBase::createEmpty(), osg::FBOViewportBase::createEmpty(), osg::FatBorderChunkBase::createEmpty(), osg::DVRVolumeTextureBase::createEmpty(), osg::DVRVolumeBase::createEmpty(), osg::DVRSimpleShaderBase::createEmpty(), osg::DVRSimpleLUTShaderBase::createEmpty(), osg::DVRMtexLUTShaderBase::createEmpty(), osg::DVRLookupTableBase::createEmpty(), osg::DVRIsoSurfaceBase::createEmpty(), osg::DVRIsoShaderBase::createEmpty(), osg::DVRGeometryBase::createEmpty(), osg::DVRClipObjectsBase::createEmpty(), osg::DVRClipGeometryBase::createEmpty(), osg::DVRAppearanceBase::createEmpty(), osg::DistortionDisplayFilterBase::createEmpty(), osg::DistanceLODBase::createEmpty(), osg::DisplayFilterForegroundBase::createEmpty(), osg::DisplayCalibrationBase::createEmpty(), osg::DirectionalLightBase::createEmpty(), osg::DepthClearBackgroundBase::createEmpty(), osg::DepthChunkBase::createEmpty(), osg::CubeTextureChunkBase::createEmpty(), osg::ComponentTransformBase::createEmpty(), osg::ColorMaskChunkBase::createEmpty(), osg::ColorDisplayFilterBase::createEmpty(), osg::ColorBufferViewportBase::createEmpty(), osg::ClusterWindowBase::createEmpty(), osg::ClipPlaneChunkBase::createEmpty(), osg::ClipPlaneBase::createEmpty(), osg::ChunkMaterialBase::createEmpty(), osg::BlendChunkBase::createEmpty(), osg::BillboardBase::createEmpty(), osg::XWindowBase::shallowCopy(), osg::WIN32WindowBase::shallowCopy(), osg::ViewportBase::shallowCopy(), osg::VertexProgramChunkBase::shallowCopy(), osg::TwoSidedLightingChunkBase::shallowCopy(), osg::TransformChunkBase::shallowCopy(), osg::TransformBase::shallowCopy(), osg::TileCameraDecoratorBase::shallowCopy(), osg::TextureTransformChunkBase::shallowCopy(), osg::TextureGrabForegroundBase::shallowCopy(), osg::TextureGrabBackgroundBase::shallowCopy(), osg::TextureChunkBase::shallowCopy(), osg::TextureBackgroundBase::shallowCopy(), osg::TexGenChunkBase::shallowCopy(), osg::SwitchMaterialBase::shallowCopy(), osg::SwitchBase::shallowCopy(), osg::SurfaceBase::shallowCopy(), osg::StringAttributeMapBase::shallowCopy(), osg::StereoBufferViewportBase::shallowCopy(), osg::StencilChunkBase::shallowCopy(), osg::StateSortingGroupBase::shallowCopy(), osg::StateBase::shallowCopy(), osg::SpotLightBase::shallowCopy(), osg::SortFirstWindowBase::shallowCopy(), osg::SolidBackgroundBase::shallowCopy(), osg::SlicesBase::shallowCopy(), osg::SkyBackgroundBase::shallowCopy(), osg::SimpleTexturedMaterialBase::shallowCopy(), osg::SimpleStatisticsForegroundBase::shallowCopy(), osg::SimpleMaterialBase::shallowCopy(), osg::SHLParameterChunkBase::shallowCopy(), osg::SHLChunkBase::shallowCopy(), osg::ShearedStereoCameraDecoratorBase::shallowCopy(), osg::ShaderParameterVec4fBase::shallowCopy(), osg::ShaderParameterVec3fBase::shallowCopy(), osg::ShaderParameterVec2fBase::shallowCopy(), osg::ShaderParameterStringBase::shallowCopy(), osg::ShaderParameterRealBase::shallowCopy(), osg::ShaderParameterMVec4fBase::shallowCopy(), osg::ShaderParameterMVec3fBase::shallowCopy(), osg::ShaderParameterMVec2fBase::shallowCopy(), osg::ShaderParameterMRealBase::shallowCopy(), osg::ShaderParameterMMatrixBase::shallowCopy(), osg::ShaderParameterMIntBase::shallowCopy(), osg::ShaderParameterMatrixBase::shallowCopy(), osg::ShaderParameterIntBase::shallowCopy(), osg::ShaderParameterBoolBase::shallowCopy(), osg::ScreenGroupBase::shallowCopy(), osg::SClipPlaneChunkBase::shallowCopy(), osg::ResolutionDisplayFilterBase::shallowCopy(), osg::RenderOptionsBase::shallowCopy(), osg::RegisterCombinersChunkBase::shallowCopy(), osg::QTWindowBase::shallowCopy(), osg::ProxyGroupBase::shallowCopy(), osg::ProjectionCameraDecoratorBase::shallowCopy(), osg::PolygonForegroundBase::shallowCopy(), osg::PolygonChunkBase::shallowCopy(), osg::PolygonBackgroundBase::shallowCopy(), osg::PointLightBase::shallowCopy(), osg::PointChunkBase::shallowCopy(), osg::PhongMaterialBase::shallowCopy(), osg::PerspectiveCameraBase::shallowCopy(), osg::PassiveWindowBase::shallowCopy(), osg::PassiveViewportBase::shallowCopy(), osg::PassiveBackgroundBase::shallowCopy(), osg::ParticlesBase::shallowCopy(), osg::OrthographicCameraBase::shallowCopy(), osg::OffCenterPerspectiveCameraBase::shallowCopy(), osg::MultiPassMaterialBase::shallowCopy(), osg::MultiDisplayWindowBase::shallowCopy(), osg::MatrixCameraDecoratorBase::shallowCopy(), osg::MatrixCameraBase::shallowCopy(), osg::MaterialPoolBase::shallowCopy(), osg::MaterialGroupBase::shallowCopy(), osg::MaterialChunkBase::shallowCopy(), osg::LogicOpChunkBase::shallowCopy(), osg::LineChunkBase::shallowCopy(), osg::LightModelChunkBase::shallowCopy(), osg::LightEnvBase::shallowCopy(), osg::LightChunkBase::shallowCopy(), osg::InverseTransformBase::shallowCopy(), osg::InlineBase::shallowCopy(), osg::ImageForegroundBase::shallowCopy(), osg::ImageBase::shallowCopy(), osg::ImageBackgroundBase::shallowCopy(), osg::GroupBase::shallowCopy(), osg::GraphicStatisticsForegroundBase::shallowCopy(), osg::GradientBackgroundBase::shallowCopy(), osg::GrabForegroundBase::shallowCopy(), osg::GLUTWindowBase::shallowCopy(), osg::GeometryBase::shallowCopy(), osg::FresnelMaterialBase::shallowCopy(), osg::FragmentProgramChunkBase::shallowCopy(), osg::FileGrabForegroundBase::shallowCopy(), osg::FCPtrAttributeMapBase::shallowCopy(), osg::FBOViewportBase::shallowCopy(), osg::FatBorderChunkBase::shallowCopy(), osg::DVRVolumeTextureBase::shallowCopy(), osg::DVRVolumeBase::shallowCopy(), osg::DVRSimpleShaderBase::shallowCopy(), osg::DVRSimpleLUTShaderBase::shallowCopy(), osg::DVRMtexLUTShaderBase::shallowCopy(), osg::DVRLookupTableBase::shallowCopy(), osg::DVRIsoSurfaceBase::shallowCopy(), osg::DVRIsoShaderBase::shallowCopy(), osg::DVRGeometryBase::shallowCopy(), osg::DVRClipObjectsBase::shallowCopy(), osg::DVRClipGeometryBase::shallowCopy(), osg::DVRAppearanceBase::shallowCopy(), osg::DistortionDisplayFilterBase::shallowCopy(), osg::DistanceLODBase::shallowCopy(), osg::DisplayFilterForegroundBase::shallowCopy(), osg::DisplayCalibrationBase::shallowCopy(), osg::DirectionalLightBase::shallowCopy(), osg::DepthClearBackgroundBase::shallowCopy(), osg::DepthChunkBase::shallowCopy(), osg::CubeTextureChunkBase::shallowCopy(), osg::ComponentTransformBase::shallowCopy(), osg::ColorMaskChunkBase::shallowCopy(), osg::ColorDisplayFilterBase::shallowCopy(), osg::ColorBufferViewportBase::shallowCopy(), osg::ClusterWindowBase::shallowCopy(), osg::ClipPlaneChunkBase::shallowCopy(), osg::ClipPlaneBase::shallowCopy(), osg::ChunkMaterialBase::shallowCopy(), osg::BlendChunkBase::shallowCopy(), and osg::BillboardBase::shallowCopy().
00141 { 00142 typedef typename ObjectPtrT::StoredObjectType ObjectType; 00143 00144 UInt8 *pTmp; 00145 00146 result._containerSize = sizeof(ObjectType); 00147 00148 pTmp = 00149 static_cast<UInt8 *>(operator new( 00150 sizeof(Int32) + // ReferenceCount 00151 sizeof(UInt32) + // ContainerId 00152 sizeof(ObjectType) * ThreadManager::getNumAspects())); 00153 00154 *(reinterpret_cast<Int32 *>(pTmp)) = 0; 00155 00156 pTmp += sizeof(Int32); 00157 00158 result._storeP = (pTmp + sizeof(UInt32)); 00159 00160 #ifdef OSG_DEBUG_FCPTR 00161 result._typedStoreP = reinterpret_cast<FieldContainer *>(result._storeP); 00162 #endif 00163 00164 *(reinterpret_cast<UInt32 *>(pTmp)) = 00165 FieldContainerFactory::the()->registerFieldContainer(result); 00166 00167 Thread::getCurrentChangeList()->addCreated( 00168 *(reinterpret_cast<UInt32 *>(pTmp))); 00169 00170 pTmp += sizeof(UInt32); 00171 00172 ObjectType *aObject = reinterpret_cast<ObjectType *>(pTmp); 00173 00174 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00175 { 00176 pTmp = 00177 reinterpret_cast<UInt8 *>(new (pTmp) ObjectType(*prototypeP)); 00178 00179 pTmp += sizeof(ObjectType); 00180 } 00181 00182 result->onCreate(prototypeP); 00183 00184 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00185 { 00186 aObject[i].onCreateAspect(aObject, prototypeP); 00187 } 00188 00189 #if defined(OSG_GV_BETA) && defined(OSG_DBG_MEM) 00190 00191 fprintf(stderr, "GV_MEM_FC_DBG : (%u) cc (%p|%u)\n", 00192 Thread::getAspect(), 00193 result._storeP, 00194 // ObjectType::getClassType().getCName(), 00195 ObjectType::getClassType().getId()); 00196 #endif 00197 00198 #ifdef OSG_DEBUG_TYPED_FCPTR 00199 result.updateTypedStore(); 00200 #endif 00201 }
| void osg::FieldContainer::newPtr | ( | ObjectPtrT & | result | ) | [inline, static, protected, inherited] |
Definition at line 204 of file OSGFieldContainerImpl.inl.
References osg::ChangeList::addCreated(), osg::PThreadBase::getAspect(), osg::PThreadBase::getCurrentChangeList(), osg::ThreadManager::getNumAspects(), osg::FieldContainerFactory::registerFieldContainer(), and osg::FieldContainerFactory::the().
00205 { 00206 typedef typename ObjectPtrT::StoredObjectType ObjectType; 00207 00208 UInt8 *pTmp; 00209 00210 result._containerSize = sizeof(ObjectType); 00211 00212 pTmp = 00213 static_cast<UInt8 *>(operator new( 00214 sizeof(Int32) + // ReferenceCount 00215 sizeof(UInt32) + // ContainerId 00216 sizeof(ObjectType) * ThreadManager::getNumAspects())); 00217 00218 *(reinterpret_cast<Int32 *>(pTmp)) = 0; 00219 00220 pTmp += sizeof(Int32); 00221 00222 result._storeP = (pTmp + sizeof(UInt32)); 00223 00224 #ifdef OSG_DEBUG_FCPTR 00225 result._typedStoreP = reinterpret_cast<FieldContainer *>(result._storeP); 00226 #endif 00227 00228 *(reinterpret_cast<UInt32 *>(pTmp)) = 00229 FieldContainerFactory::the()->registerFieldContainer(result); 00230 00231 Thread::getCurrentChangeList()->addCreated( 00232 *(reinterpret_cast<UInt32 *>(pTmp))); 00233 00234 pTmp += sizeof(UInt32); 00235 00236 ObjectType *aObject = reinterpret_cast<ObjectType *>(pTmp); 00237 00238 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00239 { 00240 pTmp = reinterpret_cast<UInt8 *>(new (pTmp) ObjectType()); 00241 00242 pTmp += sizeof(ObjectType); 00243 } 00244 00245 result->onCreate(); 00246 00247 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00248 { 00249 aObject[i].onCreateAspect(aObject); 00250 } 00251 00252 #if defined(OSG_GV_BETA) && defined(OSG_DBG_MEM) 00253 fprintf(stderr, "GV_MEM_FC_DBG : (%u) c (%p|%u)\n", 00254 Thread::getAspect(), 00255 result._storeP, 00256 // ObjectType::getClassType().getCName(), 00257 ObjectType::getClassType().getId()); 00258 #endif 00259 00260 #ifdef OSG_DEBUG_TYPED_FCPTR 00261 result.updateTypedStore(); 00262 #endif 00263 }
| void osg::FieldContainer::beginEditX | ( | const BitVector & | whichField, | |
| FieldTypeT & | field | |||
| ) | [inline, protected, inherited] |
| void osg::FieldContainer::endEditX | ( | const BitVector & | whichField, | |
| FieldTypeT & | field | |||
| ) | [inline, protected, inherited] |
Definition at line 291 of file OSGFieldContainerImpl.inl.
References osg::endEditCP().
00292 { 00293 FieldContainerPtr tmpPtr(this); 00294 endEditCP(tmpPtr, whichField); 00295 }
| void osg::FieldContainer::onCreate | ( | const FieldContainer * | source = NULL |
) | [inline, protected, inherited] |
Definition at line 318 of file OSGFieldContainerImpl.inl.
Referenced by osg::ShaderParameterChunk::onCreate().
| void osg::FieldContainer::onCreateAspect | ( | const FieldContainer * | aspect0, | |
| const FieldContainer * | source = NULL | |||
| ) | [inline, protected, inherited] |
| void FieldContainer::onDestroy | ( | void | ) | [protected, virtual, inherited] |
Reimplemented in osg::NodeCore, osg::Attachment, osg::Geometry, osg::Surface, osg::MaterialPool, osg::CubeTextureChunk, osg::TextureChunk, osg::FBOViewport, osg::Window, osg::ShaderParameterChunk, and osg::SHLChunk.
Definition at line 98 of file OSGFieldContainer.cpp.
friend class FieldContainer [friend] |
Reimplemented from osg::DisplayCalibrationBase.
Definition at line 173 of file OSGDisplayCalibration.h.
friend class DisplayCalibrationBase [friend] |
Definition at line 174 of file OSGDisplayCalibration.h.
bool osg::DisplayCalibration::_useFragmentProgram [protected] |
Definition at line 133 of file OSGDisplayCalibration.h.
Referenced by createCMViewports(), updateGamma(), and updateMatrix().
bool osg::DisplayCalibration::_changed [protected] |
Definition at line 134 of file OSGDisplayCalibration.h.
Referenced by changed(), and createCMViewports().
bool osg::DisplayCalibration::_nonPowerOfTwo [protected] |
GeometryPtr osg::DisplayCalibration::_scalegeo [protected] |
Definition at line 136 of file OSGDisplayCalibration.h.
GeoPositions3fPtr osg::DisplayCalibration::_positions [protected] |
GeoTexCoords2fPtr osg::DisplayCalibration::_texcoords [protected] |
ImagePtr osg::DisplayCalibration::_rgammaimg [protected] |
TextureChunkPtr osg::DisplayCalibration::_rgammachunk [protected] |
ImagePtr osg::DisplayCalibration::_ggammaimg [protected] |
TextureChunkPtr osg::DisplayCalibration::_ggammachunk [protected] |
ImagePtr osg::DisplayCalibration::_bgammaimg [protected] |
TextureChunkPtr osg::DisplayCalibration::_bgammachunk [protected] |
ImagePtr osg::DisplayCalibration::_argammaimg [protected] |
Definition at line 147 of file OSGDisplayCalibration.h.
Referenced by createCMViewports(), and updateGamma().
Definition at line 148 of file OSGDisplayCalibration.h.
Referenced by createCMViewports(), and updateGamma().
ImagePtr osg::DisplayCalibration::_gbgammaimg [protected] |
Definition at line 149 of file OSGDisplayCalibration.h.
Referenced by createCMViewports(), and updateGamma().
Definition at line 150 of file OSGDisplayCalibration.h.
Referenced by createCMViewports(), and updateGamma().
Definition at line 151 of file OSGDisplayCalibration.h.
Referenced by createCMViewports(), updateGamma(), and updateMatrix().
Definition at line 152 of file OSGDisplayCalibration.h.
Referenced by createCMViewports(), and updateMatrix().
ViewportPtr osg::DisplayCalibration::_cmPort [protected] |
Definition at line 154 of file OSGDisplayCalibration.h.
Referenced by calibrate(), createCMViewports(), and ~DisplayCalibration().
ViewportPtr osg::DisplayCalibration::_dsPort [protected] |
Definition at line 155 of file OSGDisplayCalibration.h.
Referenced by calibrate(), createCMViewports(), and ~DisplayCalibration().
ViewportPtr osg::DisplayCalibration::_dsPort2 [protected] |
Definition at line 156 of file OSGDisplayCalibration.h.
Referenced by calibrate(), createCMViewports(), and ~DisplayCalibration().
NodePtr osg::DisplayCalibration::_cmRoot [protected] |
Definition at line 157 of file OSGDisplayCalibration.h.
Referenced by createCMViewports(), and ~DisplayCalibration().
NodePtr osg::DisplayCalibration::_dsRoot [protected] |
Definition at line 158 of file OSGDisplayCalibration.h.
Referenced by createCMViewports(), and ~DisplayCalibration().
NodePtr osg::DisplayCalibration::_ds2Root [protected] |
Definition at line 159 of file OSGDisplayCalibration.h.
Referenced by createCMViewports(), and ~DisplayCalibration().
MatrixCameraPtr osg::DisplayCalibration::_cam [protected] |
Definition at line 160 of file OSGDisplayCalibration.h.
Referenced by createCMViewports(), and ~DisplayCalibration().
Definition at line 162 of file OSGDisplayCalibration.h.
Referenced by createCMViewports(), and ~DisplayCalibration().
SolidBackgroundPtr osg::DisplayCalibration::_ds2Back [protected] |
Definition at line 163 of file OSGDisplayCalibration.h.
Referenced by createCMViewports(), and ~DisplayCalibration().
UInt32 osg::DisplayCalibration::_vpLeft [protected] |
UInt32 osg::DisplayCalibration::_vpRight [protected] |
UInt32 osg::DisplayCalibration::_vpBottom [protected] |
UInt32 osg::DisplayCalibration::_vpTop [protected] |
const osg::BitVector DisplayCalibrationBase::EnabledFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << DisplayCalibrationBase::EnabledFieldId)
Definition at line 114 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), and osg::DisplayCalibrationBase::getBinSize().
const osg::BitVector DisplayCalibrationBase::ServerFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << DisplayCalibrationBase::ServerFieldId)
Definition at line 115 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), and osg::DisplayCalibrationBase::getBinSize().
const osg::BitVector DisplayCalibrationBase::ColorMatrixFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << DisplayCalibrationBase::ColorMatrixFieldId)
Definition at line 116 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), and osg::DisplayCalibrationBase::getBinSize().
const osg::BitVector DisplayCalibrationBase::GammaFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << DisplayCalibrationBase::GammaFieldId)
Definition at line 117 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), and osg::DisplayCalibrationBase::getBinSize().
const osg::BitVector DisplayCalibrationBase::GammaRampFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << DisplayCalibrationBase::GammaRampFieldId)
Definition at line 118 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), and osg::DisplayCalibrationBase::getBinSize().
const osg::BitVector DisplayCalibrationBase::GridWidthFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << DisplayCalibrationBase::GridWidthFieldId)
Definition at line 119 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), and osg::DisplayCalibrationBase::getBinSize().
const osg::BitVector DisplayCalibrationBase::GridHeightFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << DisplayCalibrationBase::GridHeightFieldId)
Definition at line 120 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), and osg::DisplayCalibrationBase::getBinSize().
const osg::BitVector DisplayCalibrationBase::GridFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << DisplayCalibrationBase::GridFieldId)
Definition at line 121 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), and osg::DisplayCalibrationBase::getBinSize().
const osg::BitVector DisplayCalibrationBase::ScaleDownFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << DisplayCalibrationBase::ScaleDownFieldId)
Definition at line 122 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), and osg::DisplayCalibrationBase::getBinSize().
const osg::BitVector DisplayCalibrationBase::MTInfluenceMask [static, inherited] |
Initial value:
(Inherited::MTInfluenceMask) |
(static_cast<BitVector>(0x0) << Inherited::NextFieldId)
Reimplemented from osg::FieldContainer.
Definition at line 125 of file OSGDisplayCalibrationBase.h.
bool DisplayCalibrationBase::_sfEnabled [protected, inherited] |
Do calibration if true
Definition at line 234 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), osg::DisplayCalibrationBase::getBinSize(), osg::DisplayCalibrationBase::getEnabled(), osg::DisplayCalibrationBase::getSFEnabled(), and osg::DisplayCalibrationBase::setEnabled().
std::string DisplayCalibrationBase::_sfServer [protected, inherited] |
Server to be calibrated
Definition at line 235 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), osg::DisplayCalibrationBase::getBinSize(), osg::DisplayCalibrationBase::getServer(), osg::DisplayCalibrationBase::getSFServer(), and osg::DisplayCalibrationBase::setServer().
Matrix DisplayCalibrationBase::_sfColorMatrix [protected, inherited] |
color matrix
Definition at line 236 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), osg::DisplayCalibrationBase::getBinSize(), osg::DisplayCalibrationBase::getColorMatrix(), osg::DisplayCalibrationBase::getSFColorMatrix(), and osg::DisplayCalibrationBase::setColorMatrix().
Real32 DisplayCalibrationBase::_sfGamma [protected, inherited] |
gamma value
Definition at line 237 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), osg::DisplayCalibrationBase::getBinSize(), osg::DisplayCalibrationBase::getGamma(), osg::DisplayCalibrationBase::getSFGamma(), and osg::DisplayCalibrationBase::setGamma().
Color3f DisplayCalibrationBase::_mfGammaRamp [protected, inherited] |
Do calibration if true
Definition at line 238 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), osg::DisplayCalibrationBase::getBinSize(), osg::DisplayCalibrationBase::getGammaRamp(), and osg::DisplayCalibrationBase::getMFGammaRamp().
UInt32 DisplayCalibrationBase::_sfGridWidth [protected, inherited] |
Do calibration if true
Definition at line 239 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), osg::DisplayCalibrationBase::getBinSize(), osg::DisplayCalibrationBase::getGridWidth(), osg::DisplayCalibrationBase::getSFGridWidth(), and osg::DisplayCalibrationBase::setGridWidth().
UInt32 DisplayCalibrationBase::_sfGridHeight [protected, inherited] |
Do calibration if true
Definition at line 240 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), osg::DisplayCalibrationBase::getBinSize(), osg::DisplayCalibrationBase::getGridHeight(), osg::DisplayCalibrationBase::getSFGridHeight(), and osg::DisplayCalibrationBase::setGridHeight().
Vec2f DisplayCalibrationBase::_mfGrid [protected, inherited] |
Do calibration if true
Definition at line 241 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), osg::DisplayCalibrationBase::getBinSize(), osg::DisplayCalibrationBase::getGrid(), and osg::DisplayCalibrationBase::getMFGrid().
Real32 DisplayCalibrationBase::_sfScaleDown [protected, inherited] |
simulate lower resolutions
Definition at line 242 of file OSGDisplayCalibrationBase.h.
Referenced by osg::DisplayCalibrationBase::copyFromBin(), osg::DisplayCalibrationBase::copyToBin(), osg::DisplayCalibrationBase::executeSyncImpl(), osg::DisplayCalibrationBase::getBinSize(), osg::DisplayCalibrationBase::getScaleDown(), osg::DisplayCalibrationBase::getSFScaleDown(), and osg::DisplayCalibrationBase::setScaleDown().
const BitVector AttachmentContainer::AttachmentsFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One <<
AttachmentContainer::AttachmentsFieldId)
Definition at line 84 of file OSGAttachmentContainerImpl.h.
Referenced by osg::VRMLFile::beginNode(), osg::AttachmentContainer::changed(), osg::AttachmentContainer::copyFromBin(), osg::AttachmentContainer::copyToBin(), osg::deepCloneAttachments(), osg::AttachmentContainer::executeSyncImpl(), osg::fcptrAttributeMap(), osg::AttachmentContainer::getBinSize(), and osg::stringAttributeMap().
SFAttachmentMap osg::AttachmentContainer::_attachmentMap [protected, inherited] |
Definition at line 161 of file OSGAttachmentContainerImpl.h.
Referenced by osg::AttachmentContainer::AttachmentContainer(), osg::AttachmentContainer::changed(), osg::AttachmentContainer::copyFromBin(), osg::AttachmentContainer::copyToBin(), osg::NodeCore::dump(), osg::Node::dump(), osg::Geometry::dump(), osg::AttachmentContainer::dump(), osg::AttachmentContainer::executeSyncImpl(), osg::AttachmentContainer::findAttachment(), osg::AttachmentContainer::getBinSize(), osg::AttachmentContainer::getSFAttachments(), osg::Node::onCreate(), osg::AttachmentContainer::subAttachment(), and osg::AttachmentContainer::~AttachmentContainer().
const BitVector osg::FieldContainer::NextFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << NextFieldId)
Definition at line 75 of file OSGFieldContainerImpl.h.
const bool osg::FieldContainer::isNodeCore = false [static, inherited] |
UInt32 osg::FieldContainer::_shares [protected, inherited] |
Definition at line 199 of file OSGFieldContainerImpl.h.
1.5.5