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,
79 virtual void endPage(
void);
83 virtual void beginViewport(
const SbVec2f & startpos =
SbVec2f(-1.0f, 1.0f),
86 virtual void endViewport(
void);
91 virtual void setBackgroundColor(SbBool bg,
const SbColor & col =
SbColor(0.0f, 0.0f, 0.0f));
92 virtual SbBool getBackgroundColor(
SbColor & col)
const;
97 virtual void setPixelImageSize(
float w,
DimensionUnit u = MM);
105 virtual void setPointStyle(
const PointStyle & style);
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 };
122 virtual void setDrawingDimensions(
float w,
float h,
DimensionUnit u = MM) { this->setDrawingDimensions(
SbVec2f(w, h), u); }
126 virtual void setStartPosition(
float x,
float y,
DimensionUnit u = MM) { this->setStartPosition(
SbVec2f(x, y), u); }
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,
151 virtual void getPenDescription(
SbColor * colors,
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.
Definition: SbVec2f.h:36
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:67
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:70
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:476
Definition: SoVectorizeAction.h:60
Definition: SoVectorizeAction.h:61