当前位置: 首页>>代码示例>>C++>>正文


C++ scenenode::ScenePath类代码示例

本文整理汇总了C++中scenenode::ScenePath的典型用法代码示例。如果您正苦于以下问题:C++ ScenePath类的具体用法?C++ ScenePath怎么用?C++ ScenePath使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了ScenePath类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: hashObject

void Grid::hashObject( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent, IECore::MurmurHash &h ) const
{
	if( path.size() == 2 )
	{
		SceneNode::hashObject( path, context, parent, h );
		h.append( path.back() );
		dimensionsPlug()->hash( h );
		if( path.back() == g_gridLinesName )
		{
			spacingPlug()->hash( h );
			gridColorPlug()->hash( h );
		}
		else if( path.back() == g_centerLinesName )
		{
			centerColorPlug()->hash( h );
		}
		else if( path.back() == g_borderLinesName )
		{
			borderColorPlug()->hash( h );
		}
	}
	else
	{
		h = outPlug()->objectPlug()->defaultValue()->hash();
	}
}
开发者ID:cwmartin,项目名称:gaffer,代码行数:26,代码来源:Grid.cpp

示例2: hashChildNames

void Grid::hashChildNames( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent, IECore::MurmurHash &h ) const
{
	SceneNode::hashChildNames( path, context, parent, h );
	h.append( (uint64_t)path.size() );

	if( path.size() == 0 )
	{
		namePlug()->hash( h );
	}
}
开发者ID:mattigruener,项目名称:gaffer,代码行数:10,代码来源:Grid.cpp

示例3: if

Imath::Box3f ObjectSource::computeBound( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent ) const
{
	Imath::Box3f result;
	IECore::ConstObjectPtr object = sourcePlug()->getValue();

	if( const IECore::VisibleRenderable *renderable = IECore::runTimeCast<const IECore::VisibleRenderable>( object.get() ) )
	{
		result = renderable->bound();
	}
	else if( object->isInstanceOf( IECore::Camera::staticTypeId() ) )
	{
		result = Imath::Box3f( Imath::V3f( -0.5, -0.5, 0 ), Imath::V3f( 0.5, 0.5, 2.0 ) );
	}
	else if( object->isInstanceOf( IECore::CoordinateSystem::staticTypeId() ) )
	{
		result = Imath::Box3f( Imath::V3f( 0 ), Imath::V3f( 1 ) );
	}
	else
	{
		result = Imath::Box3f( Imath::V3f( -0.5 ), Imath::V3f( 0.5 ) );
	}

	if( path.size() == 0 )
	{
		result = Imath::transform( result, transformPlug()->matrix() );
	}
	return result;
}
开发者ID:cedriclaunay,项目名称:gaffer,代码行数:28,代码来源:ObjectSource.cpp

示例4: transformPlug

Imath::M44f ObjectSource::computeTransform( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent ) const
{
	if( path.size() == 1 )
	{
		return transformPlug()->matrix();
	}
	return Imath::M44f();
}
开发者ID:Kthulhu,项目名称:gaffer,代码行数:8,代码来源:ObjectSource.cpp

示例5: hashTransform

void ObjectSource::hashTransform( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent, IECore::MurmurHash &h ) const
{
	SceneNode::hashTransform( path, context, parent, h );
	if( path.size() == 1 )
	{
		transformPlug()->hash( h );
	}
}
开发者ID:Kthulhu,项目名称:gaffer,代码行数:8,代码来源:ObjectSource.cpp

示例6: hashBound

void Light::hashBound( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent, IECore::MurmurHash &h ) const
{
	SceneNode::hashBound( path, context, parent, h );
	if( path.size() == 0 )
	{
		transformPlug()->hash( h );
	}
}
开发者ID:appleseedhq,项目名称:gaffer,代码行数:8,代码来源:Light.cpp

示例7: transformPlug

Imath::M44f Grid::computeTransform( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent ) const
{
	if( path.size() == 1 )
	{
		return transformPlug()->matrix();
	}
	return outPlug()->transformPlug()->defaultValue();
}
开发者ID:cwmartin,项目名称:gaffer,代码行数:8,代码来源:Grid.cpp

示例8: transformPlug

Imath::Box3f Light::computeBound( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent ) const
{
	Imath::Box3f result = Imath::Box3f( Imath::V3f( -.5 ), Imath::V3f( .5 ) );
	if( path.size() == 0 )
	{
		result = Imath::transform( result, transformPlug()->matrix() );
	}
	return result;
}
开发者ID:appleseedhq,项目名称:gaffer,代码行数:9,代码来源:Light.cpp

示例9: computeObject

IECore::ConstObjectPtr ObjectSource::computeObject( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent ) const
{
	if( path.size() != 1 )
	{
		return parent->objectPlug()->defaultValue();
	}

	return sourcePlug()->getValue();
}
开发者ID:Kthulhu,项目名称:gaffer,代码行数:9,代码来源:ObjectSource.cpp

示例10: hashChildNames

void ObjectSource::hashChildNames( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent, IECore::MurmurHash &h ) const
{
	if( path.size() == 0 )
	{
		SceneNode::hashChildNames( path, context, parent, h );
		namePlug()->hash( h );
		return;
	}
	h = parent->childNamesPlug()->defaultValue()->Object::hash();
}
开发者ID:Kthulhu,项目名称:gaffer,代码行数:10,代码来源:ObjectSource.cpp

示例11: sourcePlug

Imath::Box3f ObjectSource::computeBound( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent ) const
{
	IECore::ConstObjectPtr object = sourcePlug()->getValue();
	Imath::Box3f result = bound( object.get() );

	if( path.size() == 0 )
	{
		result = Imath::transform( result, transformPlug()->matrix() );
	}
	return result;
}
开发者ID:Kthulhu,项目名称:gaffer,代码行数:11,代码来源:ObjectSource.cpp

示例12: hashObject

void ObjectSource::hashObject( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent, IECore::MurmurHash &h ) const
{
	if( path.size() != 1 )
	{
		h = parent->objectPlug()->defaultValue()->hash();
		return;
	}

	SceneNode::hashObject( path, context, parent, h );
	sourcePlug()->hash( h );
}
开发者ID:Kthulhu,项目名称:gaffer,代码行数:11,代码来源:ObjectSource.cpp

示例13: computeChildNames

IECore::ConstInternedStringVectorDataPtr Grid::computeChildNames( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent ) const
{
	if( path.size() <= 1 )
	{
		InternedStringVectorDataPtr resultData = new InternedStringVectorData;
		std::vector<InternedString> &result = resultData->writable();
		if( path.size() == 0 )
		{
			result.push_back( namePlug()->getValue() );
		}
		else
		{
			result.push_back( g_gridLinesName );
			result.push_back( g_centerLinesName );
			result.push_back( g_borderLinesName );
		}
		return resultData;
	}

	return outPlug()->childNamesPlug()->defaultValue();
}
开发者ID:cwmartin,项目名称:gaffer,代码行数:21,代码来源:Grid.cpp

示例14: hashBound

void Grid::hashBound( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent, IECore::MurmurHash &h ) const
{
	if( path.size() == 0 )
	{
		h = hashOfTransformedChildBounds( path, parent );
	}
	else
	{
		Source::hashBound( path, context, parent, h );
		dimensionsPlug()->hash( h );
	}
}
开发者ID:cwmartin,项目名称:gaffer,代码行数:12,代码来源:Grid.cpp

示例15: unionOfTransformedChildBounds

Imath::Box3f Grid::computeBound( const SceneNode::ScenePath &path, const Gaffer::Context *context, const ScenePlug *parent ) const
{
	if( path.size() == 0 )
	{
		return unionOfTransformedChildBounds( path, parent );
	}
	else
	{
		const V2f halfDimensions = dimensionsPlug()->getValue() / 2.0f;
		const V3f d( halfDimensions.x, halfDimensions.y, 0 );
		return Box3f( -d, d );
	}
}
开发者ID:cwmartin,项目名称:gaffer,代码行数:13,代码来源:Grid.cpp


注:本文中的scenenode::ScenePath类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。