#include <VP1ExtraSepLayerHelper.h>
Definition at line 22 of file VP1ExtraSepLayerHelper.h.
 
◆ VP1ExtraSepLayerHelper() [1/2]
      
        
          | VP1ExtraSepLayerHelper::VP1ExtraSepLayerHelper | ( | SoSeparator * | topsep, | 
        
          |  |  | int | numberOfNodesPerExtraSep = 32 | 
        
          |  | ) |  |  | 
      
 
 
◆ ~VP1ExtraSepLayerHelper()
      
        
          | VP1ExtraSepLayerHelper::~VP1ExtraSepLayerHelper | ( |  | ) |  | 
      
 
 
◆ VP1ExtraSepLayerHelper() [2/2]
◆ addNode()
      
        
          | void VP1ExtraSepLayerHelper::addNode | ( | SoNode * | node | ) |  | 
      
 
Definition at line 54 of file VP1ExtraSepLayerHelper.cxx.
   59             VP1Msg::message(
"VP1ExtraSepLayerHelper::addNode ERROR: Node already added!");
 
   63         SoSeparator * 
sep = 
new SoSeparator;
 
   65             sep->setName(
"SepHelperInternalSep");
 
   66         sep->renderCaching.setValue(SoSeparator::ON);
 
   67         sep->boundingBoxCaching.setValue(SoSeparator::ON);
 
   75     assert(
m_d->
topsep->getChild(
m_d->
topsep->getNumChildren()-1)->getTypeId().isDerivedFrom(SoSeparator::getClassTypeId()));
 
   76     SoSeparator * lastsep = 
static_cast<SoSeparator*
>(
m_d->
topsep->getChild(
m_d->
topsep->getNumChildren()-1));
 
   78         lastsep->addChild(
node);
 
   84     SoSeparator * 
sep = 
new SoSeparator;
 
   86         sep->setName(
"SepHelperInternalSep");
 
   87     sep->renderCaching.setValue(SoSeparator::ON);
 
   88     sep->boundingBoxCaching.setValue(SoSeparator::ON);
 
 
 
 
◆ addNodeUnderMaterial()
      
        
          | void VP1ExtraSepLayerHelper::addNodeUnderMaterial | ( | SoNode * | node, | 
        
          |  |  | SoMaterial * | mat | 
        
          |  | ) |  |  | 
      
 
Definition at line 190 of file VP1ExtraSepLayerHelper.cxx.
  197         SoSeparator * matsep = 
new SoSeparator;
 
  199             matsep->setName(
"SepHelperInternalSep_MatSep");
 
  201         matsep->addChild(
mat);
 
  202         SoSeparator * 
sep = 
new SoSeparator;
 
  204             sep->setName(
"SepHelperInternalSep_InternalSepHelperTop");
 
  205         matsep->addChild(
sep);
 
  211         it->second.second->addNode(
node);
 
 
 
 
◆ largeChangesBegin()
      
        
          | void VP1ExtraSepLayerHelper::largeChangesBegin | ( |  | ) |  | 
      
 
 
◆ largeChangesEnd()
      
        
          | void VP1ExtraSepLayerHelper::largeChangesEnd | ( |  | ) |  | 
      
 
 
◆ moveNodeToNewMaterial()
      
        
          | void VP1ExtraSepLayerHelper::moveNodeToNewMaterial | ( | SoNode * | node, | 
        
          |  |  | SoMaterial * | oldmat, | 
        
          |  |  | SoMaterial * | newmat | 
        
          |  | ) |  |  | 
      
 
 
◆ numberOfNodesPerExtraSep()
      
        
          | int VP1ExtraSepLayerHelper::numberOfNodesPerExtraSep | ( |  | ) | const | 
      
 
 
◆ operator=()
◆ removeNode()
      
        
          | void VP1ExtraSepLayerHelper::removeNode | ( | SoNode * | node | ) |  | 
      
 
Definition at line 95 of file VP1ExtraSepLayerHelper.cxx.
  100             VP1Msg::message(
"VP1ExtraSepLayerHelper::removeNode ERROR: Node not added previously!");
 
  105     assert(extrasep->findChild(
node)>-1);
 
  106     assert(
m_d->
topsep->getChild(
m_d->
topsep->getNumChildren()-1)->getTypeId()==SoSeparator::getClassTypeId());
 
  107     SoSeparator * lastsep = 
static_cast<SoSeparator*
>(
m_d->
topsep->getChild(
m_d->
topsep->getNumChildren()-1));
 
  108     assert(lastsep->getNumChildren()>0);
 
  112     extrasep->removeChild(
node);
 
  117     if (lastsep!=extrasep&&lastsep->getNumChildren()>0) {
 
  118         SoNode * othernode = lastsep->getChild(lastsep->getNumChildren()-1);
 
  120         lastsep->removeChild(othernode);
 
  121         extrasep->addChild(othernode);
 
  127     if (lastsep->getNumChildren()==0) {
 
 
 
 
◆ removeNodeUnderMaterial()
      
        
          | void VP1ExtraSepLayerHelper::removeNodeUnderMaterial | ( | SoNode * | node, | 
        
          |  |  | SoMaterial * | mat | 
        
          |  | ) |  |  | 
      
 
Definition at line 216 of file VP1ExtraSepLayerHelper.cxx.
  221     it->second.second->removeNode(
node);
 
  222     if (
it->second.second->topSeparator()->getNumChildren()==0) {
 
  225         it->second.first->unref();
 
 
 
 
◆ topSeparator()
      
        
          | SoSeparator * VP1ExtraSepLayerHelper::topSeparator | ( |  | ) | const | 
      
 
 
◆ m_d
  
  | 
        
          | Imp* VP1ExtraSepLayerHelper::m_d |  | private | 
 
 
The documentation for this class was generated from the following files: