Technique::Technique(const Technique& rhs, const osg::CopyOp& copyop) :
_contextMap(rhs._contextMap), _alwaysValid(rhs._alwaysValid),
- _shadowingStateSet(copyop(rhs._shadowingStateSet)),
+ _shadowingStateSet(copyop(rhs._shadowingStateSet.get())),
_validExpression(rhs._validExpression),
_contextIdLocation(rhs._contextIdLocation)
{
_bvhPolicy.buildBVH(fileName, optimizedNode.get());
_cachePolicy.addToCache(fileName, optimizedNode.get());
}
- return ReaderWriter::ReadResult(optimizedNode);
+ return ReaderWriter::ReadResult(optimizedNode.get());
}
protected:
static osgDB::ReaderWriter::ReadResult
makeParametersFromStateSet(ssRoot, ss);
SGPropertyNode_ptr effectRoot = new SGPropertyNode;
effect::mergePropertyTrees(effectRoot, ssRoot, _currentEffectParent);
- Effect* effect = makeEffect(effectRoot, true, _options);
+ Effect* effect = makeEffect(effectRoot, true, _options.get());
EffectGeode* eg = dynamic_cast<EffectGeode*>(&geode);
if (eg) {
eg->setEffect(effect);
SGModelPlacement::setReferenceTime(const double& referenceTime)
{
SGSceneUserData* userData;
- userData = SGSceneUserData::getOrCreateSceneUserData(_transform);
+ userData = SGSceneUserData::getOrCreateSceneUserData(_transform.get());
SGSceneUserData::Velocity* vel = userData->getOrCreateVelocity();
vel->referenceTime = referenceTime;
}
SGModelPlacement::setBodyLinearVelocity(const SGVec3d& linear)
{
SGSceneUserData* userData;
- userData = SGSceneUserData::getOrCreateSceneUserData(_transform);
+ userData = SGSceneUserData::getOrCreateSceneUserData(_transform.get());
SGSceneUserData::Velocity* vel = userData->getOrCreateVelocity();
vel->linear = SGVec3d(-linear[0], linear[1], -linear[2]);
}
SGModelPlacement::setBodyAngularVelocity(const SGVec3d& angular)
{
SGSceneUserData* userData;
- userData = SGSceneUserData::getOrCreateSceneUserData(_transform);
+ userData = SGSceneUserData::getOrCreateSceneUserData(_transform.get());
SGSceneUserData::Velocity* vel = userData->getOrCreateVelocity();
vel->angular = SGVec3d(-angular[0], angular[1], -angular[2]);
}
if (found_tile_base) {
// load tile if found ...
opt->setCalcLights(true);
- obj_load( object_base.str(), new_tile, true, opt);
+ obj_load( object_base.str(), new_tile, true, opt.get());
} else {
// ... or generate an ocean tile on the fly
SGPath custom_path = obj->path;
custom_path.append( obj->name );
opt->setCalcLights(true);
- obj_load( custom_path.str(), new_tile, false, opt);
+ obj_load( custom_path.str(), new_tile, false, opt.get());
} else if (obj->type == OBJECT_SHARED || obj->type == OBJECT_STATIC) {
// object loading is deferred to main render thread,
point->setDistanceAttenuation(attenuation);
attenuationPass->setAttributeAndModes(point);
Pass *spritePass = clone(basicPass, CopyOp::SHALLOW_COPY);
- spritePass->setTextureAttributeAndModes(0, pointSprite,
+ spritePass->setTextureAttributeAndModes(0, pointSprite.get(),
osg::StateAttribute::ON);
Texture2D* texture = gen_standard_light_sprite();
spritePass->setTextureAttribute(0, texture);
result->addChild(itr->get());
}
_childStack.back().push_back(result);
- recordNewNode(node, result);
- return result;
+ recordNewNode(node, result.get());
+ return result.get();
}
Node* SplicingVisitor::pushResultNode(Node* node, Node* newNode)