Acad::ErrorStatus PDEcone::subGetGeomExtents(AcDbExtents& extents) const
#else
Acad::ErrorStatus PDEcone::getGeomExtents(AcDbExtents& extents) const
#endif
{
    assertReadEnabled();
    extents.set(m_ptStart, m_ptStart);
    AcGePoint3dArray pArray;
    AcGeIntArray stdIdx;
    int actPrecision;
    getVertices(m_dDividPrecision, pArray, stdIdx, actPrecision);
    int i;
    for(i = 0; i < actPrecision; ++i)
    {
        extents.addPoint(pArray[i]);
        extents.addPoint(pArray[i + actPrecision + 1]);
    }
    return Acad::eOk;
}
Example #2
0
Acad::ErrorStatus AsdkMkrObject::dxfOutFields(AcDbDxfFiler* filer) const
{
  assertReadEnabled();

  Acad::ErrorStatus es;

  es = AcDbObject::dxfOutFields(filer);
  assert(es == Acad::eOk);

  // TODO: add the functions for your own entity in the following way:
  // es = filer->writeItem(AcDb::kDxfXCoord, mCenter);
  // assert(es == Acad::eOk);

  es = filer->writeItem(AcDb::kDxfSubclass, /*NOXLATE*/"AsdkMkrObject");
  assert(es == Acad::eOk);

  // end of dxfOutFields
  return es;
}
// 取得合适的剖分精度,如果实体较小,则剖分精度就会低,如果实体较大,则剖分
// 精度不大于实体限定的剖分精度m_dDividPrecision。
int PDEcone::getMaxPrecision(AcGiWorldDraw *mode) const
{
    assertReadEnabled();
    if(!getCalMaxPrecision())
        return m_dDividPrecision;
    double dia;
    if(m_dDiameter1 > m_dDiameter2)
        dia = m_dDiameter1;
    else
        dia = m_dDiameter2;
    int pre = (int)(PI / acos(1.0 - mode->deviation(kAcGiMaxDevForCircle, m_ptStart)
                    * 2.0 / dia));
    if(pre > m_dDividPrecision)
        return m_dDividPrecision;
    else if(pre > 8)
        return pre;
    else
        return 8;
}
Example #4
0
void
AsdkSmiley::list() const
{
    assertReadEnabled();

    AcGePoint3d cen( center() );
    double rad = radius();

    AcDbEntity::list();
    acutPrintf(
        "%12scenter point, X=%9.16q0  Y=%9.16q0  Z=%9.16q0\n"
        "%11s radius %9.16q0\n"
        "%7s eye radius %9.16q0\n"
        "%7s eye height %9.16q0\n"
        "%7s eyes apart %9.16q0\n",
        "", cen[X], cen[Y], cen[Z], "",
        rad, "", meyesize, "",
        meyesheight, "", meyesapart
    );
}
Acad::ErrorStatus PDSphere::dwgOutFields(AcDbDwgFiler* filer)const
{
	assertReadEnabled();
	Acad::ErrorStatus es=Acad::eOk;

	// Call dwgOutFields from father class: PDPrimary3D
	if((es=PDPrimary3D::dwgOutFields(filer))!=Acad::eOk)
	{
		return es;
	}

	// Write version number.
	filer->writeItem((Adesk::UInt16) VERSION_PDSPHERE);

	// Write the data members.
	filer->writeItem(m_ptCenter);
	filer->writeItem(m_dRadius);
	filer->writeItem(m_nprecision);
	return filer->filerStatus();
}
Example #6
0
Acad::ErrorStatus DoubleTunnelDraw::subGetGripPoints ( AcGePoint3dArray& gripPoints,
        AcDbIntArray& osnapModes,
        AcDbIntArray& geomIds ) const
{
    assertReadEnabled () ;

    gripPoints.append( m_startPt );

    if( m_startPt == m_endPt )
    {
        AcGePoint3d pt( m_startPt );
        pt.x = pt.x + m_width * 0.3;
        gripPoints.append( pt );
    }
    else
    {
        gripPoints.append( m_endPt );
    }

    return Acad::eOk;
}
Example #7
0
Acad::ErrorStatus
AsdkSmiley::dwgOutFields(AcDbDwgFiler *filer) const
{
    assertReadEnabled();

    AcDbEntity::dwgOutFields( filer );

    // Write version number
    filer->writeItem( kCurrentVersionNumber );
    filer->writeItem( center() );
    filer->writeItem( radius() );
    filer->writeItem( mnormal );
    filer->writeItem( meyesapart );
    filer->writeItem( meyesheight );
    filer->writeItem( meyesize );
    filer->writeItem( mouthLeft() );
    filer->writeItem( mouthBottom() );
    filer->writeItem( mouthRight() );

    return filer->filerStatus();
}
Acad::ErrorStatus PDEcone::getgrippoints(AcGePoint3dArray& gripArray) const
{
    assertReadEnabled();

	gripArray.append(m_ptStart);
	gripArray.append(m_ptEnd);

    AcGePoint3dArray pArray;
    AcGeIntArray stdIdx;
    int actPrecision;
    getVertices(m_dDividPrecision, pArray, stdIdx, actPrecision);
    int actPrecision__1 = actPrecision + 1;
    int stdIdxLen_1 = stdIdx.length() - 1;

    for(int i = 0; i < stdIdxLen_1; i++)
    {
        gripArray.append(pArray[stdIdx[i]]);
        gripArray.append(pArray[stdIdx[i] + actPrecision__1]);
    }
	return Acad::eOk; 
}
Example #9
0
//- Dxf Filing protocol
Acad::ErrorStatus DbValve::dxfOutFields (AcDbDxfFiler *pFiler) const {
	assertReadEnabled () ;
	//----- Save parent class information first.
	Acad::ErrorStatus es =AcDbPolyline::dxfOutFields (pFiler) ;
	if ( es != Acad::eOk )
		return (es) ;
	es =pFiler->writeItem (AcDb::kDxfSubclass, _RXST("DbValve")) ;
	if ( es != Acad::eOk )
		return (es) ;
	//----- Object version number needs to be saved first
	if ( (es =pFiler->writeUInt32 (kDxfInt32, DbValve::kCurrentVersionNumber)) != Acad::eOk )
		return (es) ;
	//----- Output params
	//.....
	if ( (es =pFiler->writePoint2d(kDxfXCoord, DbValve::m_center)) != Acad::eOk )
		return (es);
	if ( (es =pFiler->writeInt16(kDxfInt16, DbValve::m_index)) != Acad::eOk )
		return (es);

	return (pFiler->filerStatus ()) ;
}
Example #10
0
//- Osnap points protocol
Acad::ErrorStatus SimpleWallDraw::subGetOsnapPoints (
    AcDb::OsnapMode osnapMode,
    int gsSelectionMark,
    const AcGePoint3d& pickPoint,
    const AcGePoint3d& lastPoint,
    const AcGeMatrix3d& viewXform,
    AcGePoint3dArray& snapPoints,
    AcDbIntArray& geomIds ) const
{
    assertReadEnabled () ;

    // 只捕捉1种类型的点:中点
    if( osnapMode != AcDb::kOsModeCen ) return Acad::eOk;

    if( osnapMode == AcDb::kOsModeCen )
    {
        snapPoints.append( m_insertPt );
    }

    return Acad::eOk;
}
Example #11
0
Acad::ErrorStatus GasPumpGEDraw::subGetOsnapPoints (
	AcDb::OsnapMode osnapMode,
	Adesk::GsMarker gsSelectionMark,
	const AcGePoint3d& pickPoint,
	const AcGePoint3d& lastPoint,
	const AcGeMatrix3d& viewXform,
	AcGePoint3dArray& snapPoints,
	AcDbIntArray& geomIds ) const
{
	assertReadEnabled () ;
	if( osnapMode != AcDb::kOsModeCen )
		return Acad::eOk;

	Acad::ErrorStatus es = Acad::eOk;

	if( osnapMode == AcDb::kOsModeCen )
	{
		snapPoints.append( m_startPt );
	}

	return es;
}
Example #12
0
//- Dxf Filing protocol
Acad::ErrorStatus CPipeAttribute::dxfOutFields (AcDbDxfFiler *pFiler) const {
	// 检查对象处于正确的打开状态
	assertReadEnabled () ;
	//父类数据的重载
	Acad::ErrorStatus es =AcDbObject::dxfOutFields (pFiler) ;
	if ( es != Acad::eOk )
		return (es) ;
	es =pFiler->writeItem (AcDb::kDxfSubclass, _RXST("CPipeAttribute")) ;
	if ( es != Acad::eOk )
		return (es) ;
	//----- Object version number needs to be saved first
	if ( (es =pFiler->writeUInt32 (kDxfInt32, CPipeAttribute::kCurrentVersionNumber)) != Acad::eOk )
		return (es) ;
	////写入数据开始
	pFiler->writeItem(AcDb::kDxfReal , m_dRadius);
	pFiler->writeItem(AcDb::kDxfReal+1 , m_dThickness);
	pFiler->writeItem(AcDb::kDxfReal+2 , m_dDeep);
	pFiler->writeItem(AcDb::kDxfText ,m_cMaterial);
	////写入数据结束

	return (pFiler->filerStatus ()) ;
}
///////////////////////////////////////////////////////////////////////////////
///  public overloaded constant  getVertices
///  <TODO: insert function description here>
///
///  @param  Precision int     
///  @param  vertexArray AcGePoint3dArray &    
///
///  @return Acad::ErrorStatus 
///
///  @remarks 
///
///  @see 
///
///  @author BeJing ZhongKe Fulong, shinf @date 2007-1-5
/// 北京中科辅龙计算机技术有限公司,PDSOFT产品事业部--研发
///////////////////////////////////////////////////////////////////////////////
Acad::ErrorStatus PDEcone::getVertices(int Precision, AcGePoint3dArray& vertexArray) const
{
	assertReadEnabled();
	int actPrecision__1 = Precision + 1;
	vertexArray.setLogicalLength(actPrecision__1 * 2);

	AcGeVector3d vect = getFaceVect();

	AcGeVector3d Wy(0, 1, 0), Wz(0, 0, 1), Ax;// Ay;
	if (fabs(vect[X]) <1.0/64 && fabs(vect[Y])<1.0/64) 
		Ax = Wy.crossProduct(vect);
	else
		Ax = Wz.crossProduct(vect);
	Ax.normalize();
	//Ay = vect.crossProduct(Ax);
	//Ay.normalize();

	AcGeVector3d AxE = Ax * m_dDiameter2 / 2.0;
	Ax *= m_dDiameter1 / 2.0;
	double rotateAngPre = PI * 2.0 / Precision;

	vertexArray[0] = m_ptStart + Ax;
	vertexArray[actPrecision__1] = m_ptEnd + AxE;
	AcGeVector3d VecSTemp, VecETemp;
	int i;
	VecSTemp = Ax;
	VecETemp = AxE;
	for(i = 1; i < Precision; ++i)
	{
		VecSTemp.rotateBy(rotateAngPre , vect);
		VecETemp.rotateBy(rotateAngPre, vect);
		vertexArray[i] = m_ptStart + VecSTemp;
		vertexArray[i + actPrecision__1] = m_ptEnd + VecETemp;
	}
	vertexArray[Precision] = vertexArray[0];
	vertexArray[Precision + actPrecision__1] = vertexArray[actPrecision__1];

	return Acad::eOk;
}
Example #14
0
Adesk::Boolean PolyLineDirectionDraw::subWorldDraw( AcGiWorldDraw* mode )
{
    assertReadEnabled () ;

    // 绘制箭头主干
    //DrawLine( mode, m_insertPt, m_angle, m_length );
    //DrawLine( mode, m_insertPt, m_angle + PI, m_length );

    // 绘制箭头
    AcGeVector3d v( AcGeVector3d::kXAxis );
    v.rotateBy( m_angle, AcGeVector3d::kZAxis );
    DrawArrow( mode, m_insertPt/* + v * m_length*/, m_angle, m_arrow_width, m_arrow_length );

    // 绘制污风标记
    if( m_vt == 1 )
    {
        v.rotateBy( PI, AcGeVector3d::kZAxis );
        DrawSin( mode, m_insertPt + v * m_length, m_angle, m_radius );;
    }

    return Adesk::kTrue;
}
Example #15
0
Acad::ErrorStatus asdkBolt::dwgOutFields(AcDbDwgFiler* pFiler) const
{
	assertReadEnabled();
	Acad::ErrorStatus es;

	// Call dwgOutFields from AcDbEntity
	if ((es = AcDbEntity::dwgOutFields(pFiler)) != Acad::eOk) {
		return es;
	}

	// Write version number.
	pFiler->writeItem((Adesk::UInt16) VERSION_ASDKBOLT);

	// Write the data members.
	pFiler->writeItem(headDiameter);
	pFiler->writeItem(headHeight);
	pFiler->writeInt32(headSides);
	pFiler->writeItem(shaftDiameter);
	pFiler->writeItem(shaftLength);
	pFiler->writeItem(threadLength);
	pFiler->writeItem(threadWidth);
	pFiler->writeBytes(transformation.entry,128);
	pFiler->writeItem(alignment);
	pFiler->writeItem(position);

	pHead->dwgOutFields(pFiler);
	pShaft->dwgOutFields(pFiler);

	if(visibility()==AcDb::kVisible)
		int j=1;
	char *layername;
	layername=layer();
    
	int color=colorIndex();
	color=pHead->colorIndex();
	color=pShaft->colorIndex();

	return pFiler->filerStatus();
}
Example #16
0
Acad::ErrorStatus AsdkEmployee::dxfOutFields(AcDbDxfFiler* pFiler) const
{
	assertReadEnabled();
	Acad::ErrorStatus es;

	if ((es = AcDbEllipse::dxfOutFields(pFiler)) != Acad::eOk)
		return es;

	// Write version number.
	pFiler->writeItem(AcDb::kDxfInt16, (Adesk::UInt16) VERSION_ASDKEMPLOYEE);

	pFiler->writeItem(AcDb::kDxfSubclass, "AsdkEmployee");
	pFiler->writeItem(AcDb::kDxfXTextString, m_lastName);
	pFiler->writeItem(AcDb::kDxfXTextString + 1, m_firstName);
	pFiler->writeItem(AcDb::kDxfInt32, m_cube);
	pFiler->writeItem(AcDb::kDxfInt32 + 1, m_ID);

	// TODO: here you can file datamembers not
	//       created by the ObjectARX Add-In.

	return es;
}
//  [9/5/2007 suzhiyong]
Acad::ErrorStatus PDSphere::explodeTo3DSolid(AcDb3dSolid* &p3dSolid) const
{
	assertReadEnabled();

	AcDb3dSolid *pBody;
	pBody = new AcDb3dSolid;
	if(pBody->createSphere(m_dRadius) != Acad::eOk)
	{
		delete pBody;
		return Acad::eNotApplicable;
	}

	AcGeMatrix3d mat;
	mat.setTranslation(m_ptCenter.asVector());

	pBody->transformBy(mat);

	pBody->setPropertiesFrom(this);
	p3dSolid = pBody;

	return Acad::eOk;
}
Example #18
0
Adesk::Boolean TailraceGEDraw::subWorldDraw( AcGiWorldDraw* mode )
{
	assertReadEnabled () ;

	AcGeVector3d v( AcGeVector3d::kXAxis );
	v.rotateBy( m_angle, AcGeVector3d::kZAxis );

	if( v.x < 0 ) v.negate();
	m_angle = v.angleTo( AcGeVector3d::kXAxis, -AcGeVector3d::kZAxis );

	caculPts();

	DrawLine(mode,m_insertPt,m_pt0);
	DrawLine(mode,m_pt2,m_pt3);
	DrawLine(mode,m_pt3,m_pt5);
	DrawLine(mode,m_pt5,m_pt8);
	DrawLine(mode,m_pt2,m_pt15);
	DrawLine(mode,m_pt14,m_pt15);
	DrawLine(mode,m_pt13,m_pt14);
	DrawLine(mode,m_pt13,m_pt12);
	DrawLine(mode,m_pt7,m_pt10);
	DrawLine(mode,m_pt6,m_pt11);

	DrawArc(mode,m_pt2,m_pt0,m_pt3,false);
	AcGePoint3dArray pts;
	pts.append(m_pt4);
	pts.append(m_pt9);
	pts.append(m_pt15);
	pts.append(m_pt14);
	pts.append(m_pt13);
	pts.append(m_pt12);
	pts.append(m_pt8);
	pts.append(m_pt7);
	pts.append(m_pt5);

	DrawBackGround(mode,pts,7);
	return Adesk::kTrue;
}
Acad::ErrorStatus PDEcone::dwgOutFields(AcDbDwgFiler* filer) const
{
    assertReadEnabled();
	Acad::ErrorStatus es=Acad::eOk;

	// Call dwgOutFields from father class: PDPrimary3D
	if((es=PDPrimary3D::dwgOutFields(filer))!=Acad::eOk)
	{
		return es;
	}

	// Write version number.
	filer->writeItem((Adesk::UInt16) VERSION_PDECONE);

	// Write the data members.
	filer->writeItem(m_ptStart);
	filer->writeItem(m_ptEnd);
	filer->writeItem(m_dDiameter1);
	filer->writeItem(m_dDiameter2);
	filer->writeItem(m_vect);

	return filer->filerStatus();
}
Acad::ErrorStatus SphereNitrogenPipeDraw::subGetOsnapPoints (
    AcDb::OsnapMode osnapMode,
    int gsSelectionMark,
    const AcGePoint3d& pickPoint,
    const AcGePoint3d& lastPoint,
    const AcGeMatrix3d& viewXform,
    AcGePoint3dArray& snapPoints,
    AcDbIntArray& geomIds ) const
{
    assertReadEnabled () ;
    // 捕捉2种类型的点:端点和中心点
    if( osnapMode != AcDb::kOsModeCen )
        return Acad::eOk;

    Acad::ErrorStatus es = Acad::eOk;

    if( osnapMode == AcDb::kOsModeCen )
    {
        snapPoints.append( m_pt );
    }

    return es;
}
Example #21
0
Acad::ErrorStatus
AsdkSmiley::explode(AcDbVoidPtrArray& entities) const
{
    assertReadEnabled();

    AcDbCircle *pCircle = new AcDbCircle( center(), mnormal, radius() );
    entities.append( pCircle );

    // Create eyes
    //
    AcGePoint3dArray eyearray;
    eyes( eyearray );
    for( int i = 0; i < eyearray.length(); i++ ){
        AcDbCircle *pCircle = new AcDbCircle( eyearray.at(i), mnormal, meyesize );
        entities.append( pCircle );
    }

    // Create smile arc
    //
    AcGePoint3d smilecen( mouthCenter() ),
                startpt( mouthLeft() ),
                endpt( mouthRight() );
    AcGeVector3d normvec( 1, 0, 0 ),
                 startvec = startpt - smilecen,
                 endvec = endpt - smilecen;
    double startang = 2 * kPi - startvec.angleTo( normvec ),
           endang = 2 * kPi - endvec.angleTo( normvec );
    AcDbArc *pArc = new AcDbArc( smilecen, mnormal, mouthRadius(), startang, endang );
    entities.append( pArc );

    // Create smile arc chord
    //
    AcDbLine *pLine = new AcDbLine( startpt, endpt );
    entities.append( pLine );

    return Acad::eOk;
}
Example #22
0
Acad::ErrorStatus SimpleChimneyDraw::subGetOsnapPoints (
    AcDb::OsnapMode osnapMode,
    int gsSelectionMark,
    const AcGePoint3d& pickPoint,
    const AcGePoint3d& lastPoint,
    const AcGeMatrix3d& viewXform,
    AcGePoint3dArray& snapPoints,
    AcDbIntArray& geomIds ) const
{
    assertReadEnabled () ;
    // 只捕捉1种类型的点:端点
    if( osnapMode != AcDb::kOsMaskEnd ) return Acad::eOk;

    if( osnapMode == AcDb::kOsMaskEnd )
    {
        int len = m_pts.length();
        for( int i = 0; i < len; i++ )
        {
            snapPoints.append( m_pts[i] );
        }
    }

    return Acad::eOk;
}
Acad::ErrorStatus PDSphere::dxfOutFields(AcDbDxfFiler* filer) const
{
	assertReadEnabled();
	Acad::ErrorStatus es;

	if ((es = PDPrimary3D::dxfOutFields(filer))
		!= Acad::eOk)
	{
		return es;
	}

	// Write subclass marker.
	filer->writeItem(AcDb::kDxfSubclass, _T("PDSphere"));

	// Write version number.
	filer->writeItem(AcDb::kDxfInt16, (Adesk::UInt16) VERSION_PDSPHERE);

	// Write data members.
	filer->writeItem(AcDb::kDxfXCoord, m_ptCenter);
	filer->writeItem(AcDb::kDxfReal,m_dRadius);
	filer->writeItem(AcDb::kDxfInt32,m_nprecision);

	return filer->filerStatus();
}
Example #24
0
Acad::ErrorStatus DoubleTunnelDraw::subGetOsnapPoints (
    AcDb::OsnapMode osnapMode,
    int gsSelectionMark,
    const AcGePoint3d& pickPoint,
    const AcGePoint3d& lastPoint,
    const AcGeMatrix3d& viewXform,
    AcGePoint3dArray& snapPoints,
    AcDbIntArray& geomIds ) const
{
    assertReadEnabled () ;

    // 只捕捉端点
    if ( osnapMode == AcDb::kOsModeEnd )
    {
        snapPoints.append( m_startPt );
        snapPoints.append( m_endPt );
        //snapPoints.append(m_leftStartPt);
        //snapPoints.append(m_leftEndPt);
        //snapPoints.append(m_rightStartPt);
        //snapPoints.append(m_rightEndPt);
    }

    return Acad::eOk;
}
Example #25
0
Acad::ErrorStatus AsdkEmployee::dwgOutFields(AcDbDwgFiler* pFiler) const
{
	assertReadEnabled();
	Acad::ErrorStatus es;

	// Call dwgOutFields from AcDbEllipse
	if ((es = AcDbEllipse::dwgOutFields(pFiler)) != Acad::eOk) {
		return es;
	}

	// Write version number.
	pFiler->writeItem((Adesk::UInt16) VERSION_ASDKEMPLOYEE);

	// Write the data members.
	pFiler->writeItem(m_lastName);
	pFiler->writeItem(m_firstName);
	pFiler->writeItem(m_cube);
	pFiler->writeItem(m_ID);
	// TODO: here you can file datamembers not
	//       created by the ObjectARX Add-In.


	return pFiler->filerStatus();
}
Example #26
0
Acad::ErrorStatus   
AcRectangle::getGripPoints(AcDbGripDataPtrArray& grips, 
                           const double curViewUnitSize, 
                           const int gripSize,
                           const AcGeVector3d& curViewDir, 
                           const int bitflags) const
{
	assertReadEnabled();
#define MODULE_ID ACCMENTITYCOLOR_CPP_

	Adesk::UInt32 r(0); 
	Adesk::UInt32 g(0); 
	Adesk::UInt32 b(0); 

	r =AcCmEntityColor::mLUT[1][0];
	g =AcCmEntityColor::mLUT[1][1];
	b =AcCmEntityColor::mLUT[1][2];


    AppData *appData0 = new AppData(0);
    AppData *appData1 = new AppData(1);
    AppData *appData2 = new AppData(2);
    AppData *appData3 = new AppData(3);
    AppData *appData4 = new AppData(4);

    AcGePoint3d pts[5];
    AcGeVector3d vertDir = mNormal.crossProduct(mHorizDir);
    pts[0] = mCenter;
    pts[1] = mCenter + 0.5 * mWidth * mHorizDir + 0.5 * mHeight * vertDir;
    pts[2] = mCenter - 0.5 * mWidth * mHorizDir + 0.5 * mHeight * vertDir;
    pts[3] = mCenter - 0.5 * mWidth * mHorizDir - 0.5 * mHeight * vertDir;
    pts[4] = mCenter + 0.5 * mWidth * mHorizDir - 0.5 * mHeight * vertDir;

	// Setting for the center grip point
    AcDbGripData *pGripData0 = new AcDbGripData();
	pGripData0->setGripPoint(pts[0]);
	pGripData0->setAppData(appData0);
    //pGripData0->setHoverDimensionFunc(hoverDimensionCbackFunc);
    //pGripData0->setHotGripDimensionFunc(hotGripDimensionCbackFunc);
	grips.append(pGripData0);

    // Setting for the top-right grip point
    AcDbGripData *pGripData1 = new AcDbGripData();
	pGripData1->setGripPoint(pts[1]);
	pGripData1->setAppData(appData1);
    pGripData1->setHoverDimensionFunc(hoverDimensionCbackFunc);
    pGripData1->setHotGripDimensionFunc(hotGripDimensionCbackFunc);
	pGripData1->setViewportDraw(GripViewportDrawfunc);
	pGripData1->setDrawAtDragImageGripPoint(true);

	grips.append(pGripData1);

    // Setting for the top-left grip point
    AcDbGripData *pGripData2 = new AcDbGripData();
	pGripData2->setGripPoint(pts[2]);
	pGripData2->setAppData(appData2);
    pGripData2->setHoverDimensionFunc(hoverDimensionCbackFunc);
    pGripData2->setHotGripDimensionFunc(hotGripDimensionCbackFunc);
	pGripData2->setViewportDraw(GripViewportDrawfunc);
	pGripData2->setDrawAtDragImageGripPoint(true);
	grips.append(pGripData2);

    // Setting for the bottom-left grip point
    AcDbGripData *pGripData3 = new AcDbGripData();
	pGripData3->setGripPoint(pts[3]);
	pGripData3->setAppData(appData3);
    pGripData3->setHoverDimensionFunc(hoverDimensionCbackFunc);
    pGripData3->setHotGripDimensionFunc(hotGripDimensionCbackFunc);
	grips.append(pGripData3);
	
    // Setting for the bottom-right grip point
    AcDbGripData *pGripData4 = new AcDbGripData();
	pGripData4->setGripPoint(pts[4]);
	pGripData4->setAppData(appData4);
    pGripData4->setHoverDimensionFunc(hoverDimensionCbackFunc);
    pGripData4->setHotGripDimensionFunc(hotGripDimensionCbackFunc);
	grips.append(pGripData4);

	return Acad::eOk;
}
Example #27
0
AcGePoint3d RockGate::getInsertPt() const
{
    assertReadEnabled();
    return m_insertPt;
}
const char* EmployeeDetails::lastName() const {
    assertReadEnabled();
    return m_strLastName;
}
//EmployeeDetails protocol
long EmployeeDetails::cubeNumber() const {
    assertReadEnabled();
    return m_cubeNumber;
}
long EmployeeDetails::ID()const {
    assertReadEnabled();
    return m_ID;
}