PandaGIS的SkyLine开发教程(4)__根据管线图层在三维场景中生成三维管线
douPipeGJ =0.6;
object oYaw, oPitch;
double douYaw;
TerraExplorerX.ITerrain3DRegBase5 te3DEegBase5;
if (z1<z2)
{
clsTE.CoordSys.GetAimingAngles(x1, y1, z1, x2, y2, z2, out oYaw, out oPitch);
if ((double)oYaw < 180)
{
douYaw = (double)oYaw + 180;
}
else
{
douYaw = (double)oYaw - 180;
}
te3DEegBase5 = (TerraExplorerX.ITerrain3DRegBase5)clsTE.ObjectManager.CreateCylinder(x1, y1, z1, douPipeGJ, douPipeLength, iNumOfSegments, iLineColor, douFillOpacity, iFillColor, HeightStyleCode.HSC_TERRAIN_ABSOLUTE, iGroupID, Fid.ToString());
te3DEegBase5.SetPosition(x1, y1, z1, douYaw, 90 - (double)oPitch, 0.0, 7);
}
else
{
clsTE.CoordSys.GetAimingAngles(x2, y2, z2, x1, y1, z1, out oYaw, out oPitch);
if ((double)oYaw < 180)
{
douYaw = (double)oYaw + 180;
}
else
{
douYaw = (double)oYaw - 180;
}
te3DEegBase5 = (TerraExplorerX.ITerrain3DRegBase5)clsTE.ObjectManager.CreateCylinder(x2, y2, z2, douPipeGJ, douPipeLength, iNumOfSegments, iLineColor, douFillOpacity, iFillColor, HeightStyleCode.HSC_TERRAIN_ABSOLUTE, iGroupID, Fid.ToString());
te3DEegBase5.SetPosition(x2, y2, z2, douYaw, 90 - (double)oPitch, 0.0, 7);
}
te3DEegBase5.ToolTipText = Fid.ToString();
}
object oYaw, oPitch;
double douYaw;
TerraExplorerX.ITerrain3DRegBase5 te3DEegBase5;
if (z1<z2)
{
clsTE.CoordSys.GetAimingAngles(x1, y1, z1, x2, y2, z2, out oYaw, out oPitch);
if ((double)oYaw < 180)
{
douYaw = (double)oYaw + 180;
}
else
{
douYaw = (double)oYaw - 180;
}
te3DEegBase5 = (TerraExplorerX.ITerrain3DRegBase5)clsTE.ObjectManager.CreateCylinder(x1, y1, z1, douPipeGJ, douPipeLength, iNumOfSegments, iLineColor, douFillOpacity, iFillColor, HeightStyleCode.HSC_TERRAIN_ABSOLUTE, iGroupID, Fid.ToString());
te3DEegBase5.SetPosition(x1, y1, z1, douYaw, 90 - (double)oPitch, 0.0, 7);
}
else
{
clsTE.CoordSys.GetAimingAngles(x2, y2, z2, x1, y1, z1, out oYaw, out oPitch);
if ((double)oYaw < 180)
{
douYaw = (double)oYaw + 180;
}
else
{
douYaw = (double)oYaw - 180;
}
te3DEegBase5 = (TerraExplorerX.ITerrain3DRegBase5)clsTE.ObjectManager.CreateCylinder(x2, y2, z2, douPipeGJ, douPipeLength, iNumOfSegments, iLineColor, douFillOpacity, iFillColor, HeightStyleCode.HSC_TERRAIN_ABSOLUTE, iGroupID, Fid.ToString());
te3DEegBase5.SetPosition(x2, y2, z2, douYaw, 90 - (double)oPitch, 0.0, 7);
}
te3DEegBase5.ToolTipText = Fid.ToString();
}