opencascade AIS_GraphicTool图形显示控制 源码学习 原创
前言
主要用于处理各种与图形显示相关的任务。该类包含了一些静态方法,用于计算颜色、设置对象的显示属性等。
方法
GetInteriorColor() [1/2]
static Quantity_NameOfColor AIS_GraphicTool::GetInteriorColor(const Handle<Prs3d_Drawer> & aDrawer)
static
返回填充颜色的名称。
GetInteriorColor() [2/2]
static void AIS_GraphicTool::GetInteriorColor(const Handle<Prs3d_Drawer> & aDrawer, Quantity_Color & aColor)
static
获取填充颜色。
GetLineAtt()
static void AIS_GraphicTool::GetLineAtt(const Handle<Prs3d_Drawer> & aDrawer, const AIS_TypeOfAttribute TheTypeOfAttributes, Quantity_NameOfColor & aCol, Standard_Real & aWidth, Aspect_TypeOfLine & aTyp)
static
获取线的属性,包括颜色、宽度和类型。
GetLineColor() [1/2]
static Quantity_NameOfColor AIS_GraphicTool::GetLineColor(const Handle<Prs3d_Drawer> & aDrawer, const AIS_TypeOfAttribute TheTypeOfAttributes)
static
返回线条颜色的名称。
GetLineColor() [2/2]
static void AIS_GraphicTool::GetLineColor(const Handle<Prs3d_Drawer> & aDrawer, const AIS_TypeOfAttribute TheTypeOfAttributes, Quantity_Color & TheLineColor)
static
获取线条颜色。
GetLineType()
static Aspect_TypeOfLine AIS_GraphicTool::GetLineType(const Handle<Prs3d_Drawer> & aDrawer, const AIS_TypeOfAttribute TheTypeOfAttributes)
static
获取线条类型。
GetLineWidth()
static Standard_Real AIS_GraphicTool::GetLineWidth(const Handle<Prs3d_Drawer> & aDrawer, const AIS_TypeOfAttribute TheTypeOfAttributes)
static
获取线条宽度。
GetMaterial()
static Graphic3d_MaterialAspect AIS_GraphicTool::GetMaterial(const Handle<Prs3d_Drawer> & aDrawer)
获取材质属性。
示例代码
下面是一个使用 AIS_GraphicTool
的示例代码,演示如何获取图形对象的属性:
#include <AIS_GraphicTool.hxx>
#include <Prs3d_Drawer.hxx>
#include <Quantity_NameOfColor.hxx>
#include <Aspect_TypeOfLine.hxx>
void DisplayGraphicAttributes(const Handle<Prs3d_Drawer>& aDrawer)
{
// 获取内部颜色
Quantity_NameOfColor interiorColor = AIS_GraphicTool::GetInteriorColor(aDrawer);
std::cout << "Interior Color: " << interiorColor << std::endl;
// 获取线条颜色
Quantity_NameOfColor lineColor = AIS_GraphicTool::GetLineColor(aDrawer, AIS_WireFrame);
std::cout << "Line Color: " << lineColor << std::endl;
// 获取线条类型
Aspect_TypeOfLine lineType = AIS_GraphicTool::GetLineType(aDrawer, AIS_WireFrame);
std::cout << "Line Type: " << lineType << std::endl;
// 获取线条宽度
Standard_Real lineWidth = AIS_GraphicTool::GetLineWidth(aDrawer, AIS_WireFrame);
std::cout << "Line Width: " << lineWidth << std::endl;
// 获取材质
Graphic3d_MaterialAspect material = AIS_GraphicTool::GetMaterial(aDrawer);
std::cout << "Material: " << material << std::endl;
}
int main()
{
Handle(Prs3d_Drawer) drawer = new Prs3d_Drawer();
DisplayGraphicAttributes(drawer);
return 0;
}
这个示例代码展示了如何使用 AIS_GraphicTool
类中的方法获取图形对象的各种属性并打印出来。