LVectorStock::LVectorStock

#include "ltwrappr.h"

LVectorStock::LVectorStock(pStock = NULL)

LVectorStock::LVectorStock(pObject, pVector =NULL)

Constructs and initializes the different member variables of the LVectorStock object.

Parameters

pVECTORSTOCK pStock

Pointer to a VECTORSTOCK structure that contains information used to create and initialize the new vector stock object.

pVECTOROBJECT pObject

Pointer to a VECTOROBJECT structure that contains information used to create and initialize the new vector stock object.

LVectorBase *pVector

Pointer to an LVectorBase object with which the newly constructed vector stock object will be associated.

Returns

None

Comments

LVectorStock::LVectorStock(pStock) is a constructor for the LVectorStock object. It takes a valid pVECTORSTOCKpointer and creates an LVectorStock object.

LVectorStock::LVectorStock(pObject, pVector=NULL) creates an LVectorStock object based on the information provided in pObject and associates the newly created LVectorStock object with the specified LVectorBase object. This constructor can be used with the LVectorLayer::EnumObjects function, which returns a valid pVECTOROBJECT pointer in the LVectorLayer::EnumObjectsCallBack member function. It can also be used with LVectorBase::VectorEventProcCallBack, which can also return a pObject.

Note that it is possible to construct an invalid LVectorStock object using the LVectorStock::LVectorStock(pObject, pVector=NULL) constructor. For example:

   //pObject->nType == type other than VECTOR_STOCK   
   //LVectorBase *pVector is valid   
   LVectorStock MyVectorStock(pObject, pVectorBase);   
   if (MyVectorStock.IsTypeValid() == FALSE)   
      MessageBox(NULL, TEXT("Invalid Vector Object"), TEXT(""), MB_OK); 

Required DLLs and Libraries

See Also

Functions

Example

This is an example for LVectorStock::LVectorStock(pStock):
This example will add all of the stock objects from VecOfice.dll to the Active Layer of an LVectorBase object.
For an example for LVectorStock::LVectorStock(pObject, pVector=NULL), refer to LVectorArc::LVectorArc(pObject, pVector = NULL).

#define VECOFICE_OBJECT_COUNT 10 
L_INT LVectorStock__LVectorStockExample(HWND hWnd, LVectorBase *pVector) 
{ 
   L_INT          nRet; 
   VECTORSTOCK    Stock; 
   L_INT          iWidth = 10; 
   UNREFERENCED_PARAMETER(hWnd); 
   memset( &Stock, 0, sizeof(Stock)); 
 
   // Load the VECOFICE library. 
   Stock.hInstDLL = LoadLibrary(MAKE_IMAGE_PATH(TEXT("VecOfice.dll"))); 
 
   // Tell the toolkit to load the stock object using the hInstDLL member. 
   Stock.pszDLLName = NULL; 
 
   // Fill in default pen, brush 
 
   Stock.Pen.bExtPen = FALSE; 
   Stock.Pen.nSize = sizeof( VECTORPEN ); 
   Stock.Pen.NewPen.LogPen.lopnStyle = PS_SOLID; 
   Stock.Pen.NewPen.LogPen.lopnWidth.x = 1; 
   Stock.Pen.NewPen.LogPen.lopnWidth.y = 1; 
 
   Stock.Brush.VectorBrushStyle = VECTORBRUSH_STANDARD; 
   Stock.Brush.nSize = sizeof( VECTORBRUSH ); 
   Stock.Brush.BrushType.StandardBrush.LogBrush.lbStyle = PS_SOLID; 
   Stock.Brush.BrushType.StandardBrush.LogBrush.lbHatch = 0; 
 
   LVectorLayer VectorLayer; 
   nRet = pVector->GetActiveLayer(&VectorLayer); 
   if (nRet == SUCCESS) 
   { 
      Stock.Point[0].z = Stock.Point[1].z = 0; 
      for( Stock.nId = 0; Stock.nId <= VECOFICE_OBJECT_COUNT; Stock.nId++ ) 
      {          
         Stock.Point[ 1 ].x = Stock.Point[ 0 ].x + iWidth; 
         Stock.Point[ 1 ].y = Stock.Point[ 0 ].y + iWidth; 
          
         // We want to have random colors for each object. 
         Stock.Pen.NewPen.LogPen.lopnColor = RGB( rand() % 256, rand() % 256, rand() % 256 ); 
         Stock.Brush.BrushType.StandardBrush.LogBrush.lbColor = RGB( rand() % 256, rand() % 256, rand() % 256 );  
 
         LVectorStock VectorStock(&Stock); 
         nRet = VectorLayer.AddObject(&VectorStock); 
         if(nRet != SUCCESS) 
            return nRet; 
 
         Stock.Point[ 0 ].x += iWidth; 
         if( Stock.Point[ 0 ].x > 11 * iWidth ) 
         { 
            Stock.Point[ 0 ].x = 0; 
            Stock.Point[ 0 ].y += iWidth; 
         } 
      } 
       
      nRet = pVector->SetParallelogram(NULL, NULL); 
      if(nRet != SUCCESS) 
         return nRet; 
 
      nRet = pVector->SetOrigin(NULL); 
      if(nRet != SUCCESS) 
         return nRet; 
 
      nRet = pVector->SetCamera(NULL); 
      if(nRet != SUCCESS) 
         return nRet; 
   } 
   else 
   { 
      MessageBox(NULL, TEXT("No Active Layer--Load a vector and run again"), TEXT(""), MB_OK); 
 
      return nRet; 
   } 
   //LVectorStock destructor called when VectorStock goes out of scope 
 
   return SUCCESS; 
} 

Help Version 21.0.2021.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Vector C++ Class Library Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.