2015/utils/HlrApi/samples/HlrArxSample/HlrArxSampleCommands.cpp
// This command is a test command for create an ACIS BODY from triangles

This command is a test command for create an ACIS BODY from triangles
This command is a test command for create an ACIS BODY from triangles
void asdktest6 () {
    int nPoints =8 ;
    int nTriangles =12 ;
    int nIndices =3 * nTriangles ;
    double p [] ={
        0, 0, 0,
        1, 0, 0,
        1, 1, 0,
        0, 1, 0,
        0, 0, 1,
        1, 0, 1,
        1, 1, 1,
        0, 1, 1
    } ;
    int i [] ={
        0, 1, 5,    0, 5, 4,
        1, 6, 5,    1, 2, 6,
        4, 5, 6,    4, 6, 7,
        7, 0, 4,    7, 3, 0,
        2, 0, 3,    2, 1, 0,
        7, 6, 3,    6, 2, 3
    } ;
    AcGeIntArray indices (nIndices) ;
    indices.setLogicalLength (nIndices) ;
    indices.setPhysicalLength (nIndices) ;
    memcpy (indices.asArrayPtr (), i, nIndices * sizeof (int)) ;
    AcGePoint3dArray gePts (nPoints) ;
    gePts.setLogicalLength (nPoints) ;
    gePts.setPhysicalLength (nPoints) ;
    memcpy (gePts.asArrayPtr (), p, nPoints * sizeof (AcGePoint3d)) ;
    void *acisBody =createBodyFromTriangles (gePts, indices) ;
    AcDb3dSolid *b =new AcDb3dSolid ;
    b->setASMBody(acisBody);
    AcDbObjectId id ;
    postToDatabase (NULL, b, id) ;
}
void asdktest6 ( ) { int nPoints = 8 ; int nTriangles = 12 ; int nIndices = 3 * nTriangles ; double p [ ] = { 0 , 0 , 0 , 1 , 0 , 0 , 1 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 1 , 1 , 0 , 1 , 1 , 1 , 1 , 0 , 1 , 1 } ; int i [ ] = { 0 , 1 , 5 , 0 , 5 , 4 , 1 , 6 , 5 , 1 , 2 , 6 , 4 , 5 , 6 , 4 , 6 , 7 , 7 , 0 , 4 , 7 , 3 , 0 , 2 , 0 , 3 , 2 , 1 , 0 , 7 , 6 , 3 , 6 , 2 , 3 } ; AcGeIntArray indices ( nIndices ) ; indices . setLogicalLength ( nIndices ) ; indices . setPhysicalLength ( nIndices ) ; memcpy ( indices . asArrayPtr ( ) , i , nIndices * sizeof ( int ) ) ; AcGePoint3dArray gePts ( nPoints ) ; gePts . setLogicalLength ( nPoints ) ; gePts . setPhysicalLength ( nPoints ) ; memcpy ( gePts . asArrayPtr ( ) , p , nPoints * sizeof ( AcGePoint3d ) ) ; void * acisBody = createBodyFromTriangles ( gePts , indices ) ; AcDb3dSolid * b = new AcDb3dSolid ; b -> setASMBody ( acisBody ) ; AcDbObjectId id ; postToDatabase ( NULL , b , id ) ; }
This command is a test command for create an ACIS BODY from triangles
This command is a test command for create an ACIS BODY from triangles