1 #ifndef COIN_SOVECTORIZEACTION_H 
    2 #define COIN_SOVECTORIZEACTION_H 
   27 #include <Inventor/actions/SoCallbackAction.h> 
   28 #include <Inventor/actions/SoSubAction.h> 
   29 #include <Inventor/SbVec2f.h> 
   30 #include <Inventor/SbColor.h> 
   34 class SoVectorizeItem;
 
   35 class SoVectorizeActionP;
 
   51   static void initClass(
void);
 
   72   virtual void apply(
const SoPathList & pathlist, SbBool obeysrules = FALSE);
 
   74   void beginStandardPage(
const PageSize & pagesize, 
const float border = 10.0f);
 
   76   virtual void beginPage(
const SbVec2f & startpagepos, 
 
   78                          DimensionUnit u = MM);
 
   79   virtual void endPage(
void);
 
   83   virtual void beginViewport(
const SbVec2f & startpos = 
SbVec2f(-1.0f, 1.0f),
 
   85                              DimensionUnit u = MM);
 
   86   virtual void endViewport(
void);
 
   88   virtual void setOrientation(Orientation o);
 
   89   virtual Orientation getOrientation(
void) 
const;
 
   91   virtual void setBackgroundColor(SbBool bg, 
const SbColor & col = 
SbColor(0.0f, 0.0f, 0.0f));
 
   92   virtual SbBool getBackgroundColor(
SbColor & col) 
const;
 
   94   virtual void setNominalWidth(
float w, DimensionUnit u = MM);
 
   95   virtual float getNominalWidth(DimensionUnit u = MM) 
const;
 
   97   virtual void setPixelImageSize(
float w, DimensionUnit u = MM);
 
   98   virtual float getPixelImageSize(DimensionUnit u = MM) 
const;
 
  105   virtual void setPointStyle(
const PointStyle & style);
 
  106   virtual PointStyle getPointStyle(
void) 
const;
 
  108   const SbVec2f & getPageStartpos(
void) 
const;
 
  109   const SbVec2f & getPageSize(
void) 
const;
 
  113   enum ColorTranslationMethod { REVERSE_ONLY_BLACK_AND_WHITE, AS_IS, REVERSE };
 
  115   enum JoinLineStyle { NO_JOIN, MITERED_JOIN, MITERED_BEVELED_JOIN,
 
  116                        BEVELED_JOIN, TRIANGULAR_JOIN, ROUNDED_JOIN } ;
 
  117   enum EndLineStyle { BUTT_END, SQUARE_END, TRIANGULAR_END, ROUND_END };
 
  118   enum HLHSRMode { NO_HLHSR, HLHSR_SIMPLE_PAINTER, HLHSR_PAINTER,
 
  119                    HLHSR_PAINTER_SURFACE_REMOVAL, HIDDEN_LINES_REMOVAL };
 
  121   virtual void setDrawingDimensions(
const SbVec2f & d, DimensionUnit u = MM);
 
  122   virtual void setDrawingDimensions(
float w, 
float h, DimensionUnit u = MM) { this->setDrawingDimensions(
SbVec2f(w, h), u); }
 
  123   virtual SbVec2f getDrawingDimensions(DimensionUnit u = MM) 
const;
 
  125   virtual void setStartPosition(
const SbVec2f & p, DimensionUnit u = MM);
 
  126   virtual void setStartPosition(
float x, 
float y, DimensionUnit u = MM) { this->setStartPosition(
SbVec2f(x, y), u); }
 
  127   virtual SbVec2f getStartPosition(DimensionUnit u = MM) 
const;
 
  129   virtual void setColorTranslationMethod(ColorTranslationMethod method);
 
  130   virtual ColorTranslationMethod getColorTranslationMethod(
void) 
const;
 
  132   virtual void setLineEndStyle(EndLineStyle style);
 
  133   virtual EndLineStyle getLineEndStyle(
void) 
const;
 
  135   virtual void setLineJoinsStyle(JoinLineStyle style);
 
  136   virtual JoinLineStyle getLineJoinsStyle(
void) 
const;
 
  138   virtual void setHLHSRMode(HLHSRMode mode);
 
  139   HLHSRMode getHLHSRMode(
void) 
const;
 
  141   virtual void setBorder(
float width);  
 
  142   virtual void setBorder (
float width, 
SbColor color); 
 
  144   virtual void setMiterLimit(
float limit);
 
  145   virtual float getMiterLimit(
void) 
const;
 
  147   virtual void setPenDescription(
int num_pens, 
 
  149                                  const float * widths = 0, 
 
  150                                  DimensionUnit u = MM);
 
  151   virtual void getPenDescription(
SbColor * colors, 
 
  153                                  DimensionUnit u = MM) 
const;
 
  154   virtual int getPenNum(
void) 
const;
 
  156   virtual void setColorPriority(SbBool priority); 
 
  157   virtual SbBool getColorPriority(
void) 
const;
 
  159   virtual void enableLighting(SbBool flag);
 
  160   SbBool isLightingEnabled(
void) 
const;
 
  165   virtual float pixelsToUnits(
const int pixels);
 
  166   virtual void printHeader(
void) 
const = 0;
 
  167   virtual void printFooter(
void) 
const;
 
  168   virtual void printBackground(
void) 
const;
 
  169   virtual void printItem(
const SoVectorizeItem * item) 
const = 0;
 
  170   virtual void printViewport(
void) 
const;
 
  172   SbVec2f getRotatedViewportStartpos(
void) 
const;
 
  173   SbVec2f getRotatedViewportSize(
void) 
const;
 
  175   const SbBSPTree & getBSPTree(
void) 
const;
 
  178   SoVectorizeActionP * pimpl;
 
  179   friend class SoVectorizeActionP;
 
  184 #ifndef COIN_INTERNAL 
  186 #include <Inventor/nodes/SoImage.h> 
  187 #endif // COIN_INTERNAL 
  191 #endif // !COIN_SOVECTORIZEACTION_H 
The SbVec2f class is a 2 dimensional vector with floating point coordinates.This vector class is used...
Definition: SbVec2f.h:39
The SbColor class contains the red, green and blue components which make up a color value...
Definition: SbColor.h:30
Definition: SoVectorizeAction.h:101
The SoVectorizeAction class is the base class for vectorizing Coin scene graphs.SoVectorizeAction wil...
Definition: SoVectorizeAction.h:40
The SoPathList class is a container for pointers to SoPath objects.As this class inherits SoBaseList...
Definition: SoPathList.h:31
Definition: SoVectorizeAction.h:58
The SoNode class is the base class for nodes used in scene graphs.Coin is a retained mode 3D visualiz...
Definition: SoNode.h:47
Definition: SoVectorizeAction.h:66
DimensionUnit
Definition: SoVectorizeAction.h:53
The SbBSPTree class provides a binary space partitioning container.This class can be used to organize...
Definition: SbBSPTree.h:45
The SoVectorOutput class is used for setting vector output file.SoVectorizeAction will create an SoVe...
Definition: SoVectorOutput.h:34
The SoPath class is a container class for traversal path descriptions.SoPath objects contain a list o...
Definition: SoPath.h:43
Definition: SoVectorizeAction.h:64
PointStyle
Definition: SoVectorizeAction.h:100
The SoAction class is the base class for all traversal actions.Applying actions is the basic mechanis...
Definition: SoAction.h:68
Orientation
Definition: SoVectorizeAction.h:54
Definition: SoVectorizeAction.h:63
Definition: SoVectorizeAction.h:59
Definition: SoVectorizeAction.h:65
Definition: SoVectorizeAction.h:62
The SoCallbackAction class invokes callbacks at specific nodes.This action has mechanisms for trackin...
Definition: SoCallbackAction.h:71
The SbViewportRegion class is a viewport within a full window.The SbViewportRegion class contains inf...
Definition: SbViewportRegion.h:31
PageSize
Definition: SoVectorizeAction.h:56
virtual void apply(SoNode *root)
Definition: SoAction.cpp:459
Definition: SoVectorizeAction.h:60
Definition: SoVectorizeAction.h:61