ͨ¹ý·ÃÎÊ3D·ûºÅ¿â£¬»ñÈ¡3DSymbolÀ´äÖȾµã£¬°ÑÈýά·ûºÅ·ÅÖÃÔÚµãµÄλÖôӶøÉú³É
Multipatch.
ÏÂͼΪMultiPatch¶ÔÏóµÄÌùͼÔÀí£º
ͼ13
½ÓÏÂÀ´¸ø´ó¼Ò½éÉÜͨ¹ýGeneralMultiPatchCreator´´½¨Ò»¸öÓÐÎÆÀíMultiPatchµÄ·½·¨£ºÐè
ҪʹÓÃÒÔÏÂÈý¸ö¶ÔÏó£º
GeometryMaterial:ÓÃÓÚ¹¹½¨²ÄÖÊ,ͨ¹ýIGeometryMaterial´´½¨µÄ²ÄÖÊ¿ÉÒÔ×÷ΪTextureLineSymbol»òÕß TextureFillSymbolÊôÐÔÓÃÀ´´´½¨ÕâЩ·ûºÅ£¬Ò²¿ÉÒÔ°ÑËüÌí¼Óµ½GeometryMaterialList¶ÔÏóÖÐ,ÓÃÓÚGeneralMultipatchCreator¶ÔÏó¹¹½¨Multipatch¶Ô
Ïó¡£
GeometryMaterialList:²ÄÖʶÔÏóµÄÈÝÆ÷ÓÃÓÚGeneralMultiPatchCreator¶ÔÏóµ÷ÓÃInit·½
·¨Ê±Ê¹Óá£
GeneralMultiPatchCreator:ÓÃÓÚ´´½¨ÓÐÎÆÀíµÄÌùͼµÄMultipatch.¡£
ÒÔÏ´úÂëÆ¬¶ÎÑÝʾÈçºÎ´´½¨Ò»¸öMultiPatch¶ÔÏó
///
///
¹¹½¨Multipatch¼¸ºÎ¶ÔÏó
///
///
public IMultiPatch CreateMultipatch()
{
try
{
//´´½¨Í¼ÐβÄÖʶÔÏó
IGeometryMaterial texture = new GeometryMaterialClass();
texture.TextureImage = @\;
//´´½¨²ÄÖÊÁбí¶ÔÏó
IGeometryMaterialList materialList = new GeometryMaterialListClass();
//Ïò²ÄÖÊÁбíÌí¼Ó²ÄÖÊ
materialList.AddMaterial(texture);
//´´½¨GeneralMultiPatchCreator¶ÔÏó
IGeneralMultiPatchCreator multiPatchCreator = new GeneralMultiPatchCreatorClass();
multiPatchCreator.Init(4, 1, false, false, false, 4, materialList);
//ÉèÖÃPart:¿ÉÒÔʹÈý½ÇÉÈ»ò»·
multiPatchCreator.SetPatchType(0, esriPatchType.esriPatchTypeTriangleStrip);
multiPatchCreator.SetMaterialIndex(0, 0);
multiPatchCreator.SetPatchPointIndex(0, 0);
multiPatchCreator.SetPatchTexturePointIndex(0, 0);
//´´½¨ÕæÊµpoints.
WKSPointZ upperLeft = new WKSPointZ();
WKSPointZ lowerLeft = new WKSPointZ();
WKSPointZ upperRight = new WKSPointZ();
WKSPointZ lowerRight = new WKSPointZ();