worldDraw() problem

worldDraw() problem

Anonymous
Not applicable
1,068 Views
5 Replies
Message 1 of 6

worldDraw() problem

Anonymous
Not applicable

I have a problem with worldDraw(), we can use

AcGiWorldDraw * mode ,

define a solid ,mode->worldDraw(solid) before

 but now can not use; the problem is AcGiDrawable no member worldDraw();

i want to find a new function to replace it .anyone kowns

thanks very much  

 

0 Likes
1,069 Views
5 Replies
Replies (5)
Message 2 of 6

owenwengerd
Advisor
Advisor

Please post some code that demonstrates the problem. Describe what you think it should do, and what it actually does, to clarify what is not working.

--
Owen Wengerd
ManuSoft
0 Likes
Message 3 of 6

Anonymous
Not applicable

Thank you can reply.

AcDb3dPolyline *p3dPoly=new AcDb3dPolyline(AcDb::k3dSimplePoly,points, Adesk::kTrue );
 AcDbRegion *pRegion;
    AcDbVoidPtrArray regions;
    AcDbVoidPtrArray voidPtrArr;
    voidPtrArr.append(p3dPoly);
    Acad::ErrorStatus es = AcDbRegion::createFromCurves(voidPtrArr, regions);
    pRegion = AcDbRegion::cast((AcRxObject*)regions[0]);
 
 AcDbRevolveOptions revolveOptions;
 AcDb3dSolid *pSolid  = new AcDb3dSolid();
 pSolid->createRevolvedSolid( pRegion,startPt1, -vector1, 12*asin(0.5), 0,  revolveOptions);

 pSolid->worldDraw(mode);

 delete pSolid;

 

when compilethe problem occurs at worldDraw(mode),  AcGIdrawable has no member worldDraw(), but in another computer .it can compile and run .i want to know why, and whether there is a  new methed to replace it .

 

thanks

0 Likes
Message 4 of 6

Anonymous
Not applicable

i find the problem where it is;

is pSolid->worldDraw(mode);

very thanks .

 

0 Likes
Message 5 of 6

owenwengerd
Advisor
Advisor

I don't understand; did you solve the problem? If so, please describe the solution in case someone else has the same problem.

--
Owen Wengerd
ManuSoft
0 Likes
Message 6 of 6

Anonymous
Not applicable

I think what you want to do is:

mode->geometry().draw(pSolid);

this initializes the gi system correctly by calling AcDbEntity::setAttributes(..) then AcDbEntity::worldDraw(..) and finally (if required by worldDraw result) AcDbEntity::viewportDraw().

 

calling directly pSolid->worldDraw(mode) may result in unexpected behavior (for instance, it may mess up the graphic system cache)

 

regards

 

 

0 Likes