 
					
				
		
			
    
	
		
		
		2013-02-11
	
		
		03:08 AM
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 - last edited on 
    
	
		
		
		2023-08-02
	
		
		03:25 PM
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 by 
				
		
		
			Doreena Deng
		
		
		
		
		
		
		
		
	
			
		
 
					
				
		
2013-02-14 12:29 PM
GSErrCode Convert_Polygon2DData_To_PGPOLYEXT (const Geometry::Polygon2DData& 	polygon2DData, 
																Geometry::PGPOLYEXT*			pgPOLYEXT) 
{ 
	if (&polygon2DData == NULL) 
		return ErrParam; 
 
	BNZeroMemory (pgPOLYEXT, sizeof (Geometry::PGPOLYEXT)); 
 
	// here comes a little bit ugly cast 
	pgPOLYEXT->data = reinterpret_cast<GSPtr> (const_cast<Geometry::Polygon2DData*> (&polygon2DData)); 
 
	// Perhaps you need to set some other attributes too: 
	//  pgPOLYEXT->status.isSameDirEdgeLegal = polygon2DData.status.isSameDirEdgeLegal; 
	//  pgPOLYEXT->epsilon = SMALLEPS * 8; 
	//  pgPOLYEXT->minVertexDist = 3 * pgPOLYEXT->epsilon; 
 
	return NoError; 
} 
 
/* --------------- Usage example: -------------------------- */ 
 
Geometry::Polygon2DData 	polygon2DData;
Geometry::PGPOLYEXT 		pgPOLYEXT;
 
Convert_Polygon2DData_To_PGPOLYEXT (polygon2DData, &pgPOLYEXT);  
					
				
		
2013-02-16 09:44 AM
 
					
				
		
2013-05-15 12:28 PM
 
					
				
		
2013-05-29 01:43 AM
 
					
				
		
2013-05-30 04:48 PM
double Geometry::GetPolygon2DDataArea (const Polygon2DData& polygon2DData, bool isPolyLine = false);For example:
double area = Geometry::GetPolygon2DDataArea (myPolygon2DData);To find more geometry functions with Polygon2DData see the Polygon2DData.h header file in the DevKit's Support\Modules\Geometry\ folder.