EXTRA_DIST += $(pyexamples_SCRIPTS) testme.py
+THIS_PYTHONPATH = $(KERNEL_ROOT_DIR)/bin/salome:$(KERNEL_ROOT_DIR)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(KERNEL_ROOT_DIR)/lib64/python$(PYTHON_VERSION)/site-packages/salome
+THIS_LD_LIBRARY_PATH = $(KERNEL_ROOT_DIR)/lib/salome
+
installcheck-local:
@for f in $(GOOD_TESTS) ; do \
- env GEOM_ROOT_DIR=$(prefix) python -B $(top_srcdir)/doc/salome/examples/testme.py $(top_srcdir)/doc/salome/examples/$$f || exit 1; \
+ GEOM_ROOT_DIR=$(prefix) PYTHONPATH=$(THIS_PYTHONPATH):${PYTHONPATH} LD_LIBRARY_PATH=$(THIS_LD_LIBRARY_PATH):${LD_LIBRARY_PATH} python -B $(top_srcdir)/doc/salome/examples/testme.py $(top_srcdir)/doc/salome/examples/$$f || exit 1; \
done
IDLCXXFLAGS = -bcxx @IDLCXXFLAGS@ -I$(top_builddir)/idl/salome -I$(KERNEL_ROOT_DIR)/idl/salome
IDLPYFLAGS = @IDLPYFLAGS@ -I$(KERNEL_ROOT_DIR)/idl/salome
-# potential problem on parallel make on the following - multiple outputs
SUFFIXES = .idl .hh SK.cc
-.idlSK.cc:
- $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
-.idl.hh:
+%SK.cc %.hh :: %.idl
$(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
install-exec-local: $(BASEIDL_FILES:%=$(top_srcdir)/idl/%)
for (i = 1; i <= aLen; i++) {
Handle(GEOM_Object) aGr_i = Handle(GEOM_Object)::DownCast(theGList->Value(i));
if ( aGr_i->GetType() != GEOM_GROUP ) {
- SetErrorCode( "Error: You could perform this operation only with group. Please select a group." );
- return NULL;
+ SetErrorCode( "Error: You could perform this operation only with group. Please select a group." );
+ return NULL;
}
// Get group type
aType_i = GetType(aGr_i);
{
SetErrorCode(KO);
- if(theGroup.IsNull()) return NULL;
- if ( theGroup->GetType() != GEOM_GROUP ) {
- SetErrorCode( "Error: You could perform this operation only with group. Please select a group." );
+ if (theGroup.IsNull()) return NULL;
+ if (theGroup->GetType() != GEOM_GROUP &&
+ theGroup->GetType() != GEOM_SUBSHAPE) {
+ SetErrorCode("Error: You could perform this operation only with a group or a sub-shape.");
return NULL;
}
+
Handle(GEOM_Function) aGroupFunction = theGroup->GetFunction(1);
if (aGroupFunction.IsNull()) return NULL;
MESSAGE (this<< " GEOM_Actor::GEOM_Actor");
#endif
- myPolyDataMapper->SetInput(myAppendFilter->GetOutput());
+ myPolyDataMapper->SetInputConnection(myAppendFilter->GetOutputPort());
vtkProperty* aProperty;
myHighlightProp->SetAmbient(0.5);
myHighlightProp->SetPointSize(SALOME_POINT_SIZE);
myHighlightActor->SetProperty(myHighlightProp.GetPointer());
- this->myHighlightActor->SetInput(myAppendFilter->GetOutput(),false);
+ this->myHighlightActor->SetInput(myAppendFilter->GetOutputPort(),false);
myPreHighlightProp->SetColor(0,1,1);
myPreHighlightProp->SetPointSize(SALOME_POINT_SIZE+2);
myPreHighlightProp->SetLineWidth(SALOME_LINE_WIDTH+1);
myPreHighlightProp->SetRepresentationToWireframe();
- myAppendFilter->AddInput(myVertexSource->GetOutput());
- myVertexActor->SetInput(myVertexSource->GetOutput(),false);
+ myAppendFilter->AddInputConnection(myVertexSource->GetOutputPort());
+ myVertexActor->SetInput(myVertexSource->GetOutputPort(),false);
aProperty = myVertexActor->GetProperty();
aProperty->SetRepresentation(VTK_POINTS);
aProperty->SetPointSize(3);
aProperty->SetColor(1, 1, 0);
- myAppendFilter->AddInput(myIsolatedEdgeSource->GetOutput());
- myIsolatedEdgeActor->SetInput(myIsolatedEdgeSource->GetOutput(),false);
+ myAppendFilter->AddInputConnection(myIsolatedEdgeSource->GetOutputPort());
+ myIsolatedEdgeActor->SetInput(myIsolatedEdgeSource->GetOutputPort(),false);
aProperty = myIsolatedEdgeActor->GetProperty();
aProperty->SetRepresentation(VTK_WIREFRAME);
myIsolatedEdgeColor[0] = 1; myIsolatedEdgeColor[1] = 0; myIsolatedEdgeColor[2] = 0;
aProperty->SetColor(myIsolatedEdgeColor[0], myIsolatedEdgeColor[1], myIsolatedEdgeColor[2]);
- myAppendFilter->AddInput(myOneFaceEdgeSource->GetOutput());
- myOneFaceEdgeActor->SetInput(myOneFaceEdgeSource->GetOutput(),false);
+ myAppendFilter->AddInputConnection(myOneFaceEdgeSource->GetOutputPort());
+ myOneFaceEdgeActor->SetInput(myOneFaceEdgeSource->GetOutputPort(),false);
aProperty = myOneFaceEdgeActor->GetProperty();
aProperty->SetRepresentation(VTK_WIREFRAME);
myOneFaceEdgeColor[0] = 0; myOneFaceEdgeColor[1] = 1; myOneFaceEdgeColor[2] = 0;
aProperty->SetColor(myOneFaceEdgeColor[0], myOneFaceEdgeColor[1], myOneFaceEdgeColor[2]);
- myAppendFilter->AddInput(mySharedEdgeSource->GetOutput());
- mySharedEdgeActor->SetInput(mySharedEdgeSource->GetOutput(),false);
+ myAppendFilter->AddInputConnection(mySharedEdgeSource->GetOutputPort());
+ mySharedEdgeActor->SetInput(mySharedEdgeSource->GetOutputPort(),false);
aProperty = mySharedEdgeActor->GetProperty();
aProperty->SetRepresentation(VTK_WIREFRAME);
mySharedEdgeColor[0] = 1; mySharedEdgeColor[1] = 1; mySharedEdgeColor[2] = 0;
aProperty->SetColor(mySharedEdgeColor[0], mySharedEdgeColor[1], mySharedEdgeColor[2]);
- myAppendFilter->AddInput(myWireframeFaceSource->GetOutput());
- myWireframeFaceActor->SetInput(myWireframeFaceSource->GetOutput(),false);
+ myAppendFilter->AddInputConnection(myWireframeFaceSource->GetOutputPort());
+ myWireframeFaceActor->SetInput(myWireframeFaceSource->GetOutputPort(),false);
aProperty = myWireframeFaceActor->GetProperty();
aProperty->SetRepresentation(VTK_WIREFRAME);
aProperty->SetColor(0.5, 0.5, 0.5);
- myShadingFaceActor->SetInput(myShadingFaceSource->GetOutput(),true);
+ myShadingFaceActor->SetInput(myShadingFaceSource->GetOutputPort(),true);
myShadingFaceProp->SetRepresentation(VTKViewer::Representation::Surface);
myShadingFaceProp->SetInterpolationToGouraud();
void Write(vtkPolyData* theDataSet, const char* theFileName){
vtkPolyDataWriter* aWriter = vtkPolyDataWriter::New();
MESSAGE ("Write - "<<theFileName<<"' : "<<theDataSet->GetNumberOfPoints()<<"; "<<theDataSet->GetNumberOfCells());
- aWriter->SetInput(theDataSet);
+ aWriter->SetInputData(theDataSet);
aWriter->SetFileName(theFileName);
//aWriter->Write();
aWriter->Delete();
/* if(myShape.ShapeType() == TopAbs_VERTEX) {
if(ren){
//The parameter determine size of vertex actor relate to diagonal of RendererWindow
- static vtkFloatingPointType delta = 0.01;
- vtkFloatingPointType X1 = -1, Y1 = -1, Z1 = 0;
+ static double delta = 0.01;
+ double X1 = -1, Y1 = -1, Z1 = 0;
ren->ViewToWorld(X1,Y1,Z1);
- vtkFloatingPointType X2 = +1, Y2 = +1, Z2 = 0;
+ double X2 = +1, Y2 = +1, Z2 = 0;
ren->ViewToWorld(X2,Y2,Z2);
Z2 = sqrt((X2-X1)*(X2-X1) + (Y2-Y1)*(Y2-Y1) + (Z2-Z1)*(Z2-Z1));
this->SetScale(Z2*delta);
SALOME_Actor::highlight(highlight);
}
-void GEOM_Actor::SetOpacity(vtkFloatingPointType opa)
+void GEOM_Actor::SetOpacity(double opa)
{
// enk:tested OK
myShadingFaceProp->SetOpacity(opa);
myVertexActor->GetProperty()->SetOpacity(opa);
}
-vtkFloatingPointType GEOM_Actor::GetOpacity()
+double GEOM_Actor::GetOpacity()
{
// enk:tested OK
return myShadingFaceProp->GetOpacity();
}
-void GEOM_Actor::SetColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b)
+void GEOM_Actor::SetColor(double r,double g,double b)
{
// set the same color to all sub-actors:
// - points
myShadingBackFaceProp->SetColor(r,g,b); // back face shading color
}
-void GEOM_Actor::GetColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b)
+void GEOM_Actor::GetColor(double& r,double& g,double& b)
{
- vtkFloatingPointType aRGB[3];
+ double aRGB[3];
myShadingFaceProp->GetColor(aRGB);
r = aRGB[0];
g = aRGB[1];
\brief Set color of points
Points actor is shown in Wireframe mode only, see SetVisibility()
*/
-void GEOM_Actor::SetPointColor(vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b)
+void GEOM_Actor::SetPointColor(double r, double g, double b)
{
myVertexActor->GetProperty()->SetColor(r, g, b);
}
This actor is shown in all display mode, see SetVisibility()
TODO: check - this color seems to be used not only for standalone edges
*/
-void GEOM_Actor::SetIsolatedEdgeColor(vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b)
+void GEOM_Actor::SetIsolatedEdgeColor(double r, double g, double b)
{
myIsolatedEdgeColor[0] = r; myIsolatedEdgeColor[1] = g; myIsolatedEdgeColor[2] = b;
if ( myDisplayMode != (int)eShadingWithEdges )
This actor is shown only in wireframe and shading+edges display modes, see SetVisibility()
TODO: check - this seems to be not working currently
*/
-void GEOM_Actor::SetSharedEdgeColor(vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b)
+void GEOM_Actor::SetSharedEdgeColor(double r, double g, double b)
{
mySharedEdgeColor[0] = r; mySharedEdgeColor[1] = g; mySharedEdgeColor[2] = b;
if ( myDisplayMode != (int)eShadingWithEdges )
This actor is shown only in wireframe and shading+edges display modes, see SetVisibility()
TODO: this color should be used not only for faces
*/
-void GEOM_Actor::SetFreeEdgeColor(vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b)
+void GEOM_Actor::SetFreeEdgeColor(double r, double g, double b)
{
myOneFaceEdgeColor[0] = r; myOneFaceEdgeColor[1] = g; myOneFaceEdgeColor[2] = b;
if ( myDisplayMode != (int)eShadingWithEdges )
\brief Set color of iso-lines
This actor is shown only in wireframe display mode, see SetVisibility()
*/
-void GEOM_Actor::SetIsosColor(vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b)
+void GEOM_Actor::SetIsosColor(double r, double g, double b)
{
myWireframeFaceActor->GetProperty()->SetColor(r, g, b);
}
this->Transform->Pop();
}
-void GEOM_Actor::SetEdgesInShadingColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b)
+void GEOM_Actor::SetEdgesInShadingColor(double r,double g,double b)
{
myEdgesInShadingColor[0] = r;
myEdgesInShadingColor[1] = g;
void ShallowCopy(vtkProp *prop);
// Opacity
- void SetOpacity(vtkFloatingPointType opa);
- vtkFloatingPointType GetOpacity();
+ void SetOpacity(double opa);
+ double GetOpacity();
// Color (same to all sub-actors/display modes)
- void SetColor(vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b);
- void GetColor(vtkFloatingPointType& r, vtkFloatingPointType& g, vtkFloatingPointType& b);
+ void SetColor(double r, double g, double b);
+ void GetColor(double& r, double& g, double& b);
// Color of points
- void SetPointColor(vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b);
+ void SetPointColor(double r, double g, double b);
// Color of standalone edges, wires, vectors
- void SetIsolatedEdgeColor(vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b);
+ void SetIsolatedEdgeColor(double r, double g, double b);
// Color of shared edges
- void SetSharedEdgeColor(vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b);
+ void SetSharedEdgeColor(double r, double g, double b);
// Color of free edges
- void SetFreeEdgeColor(vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b);
+ void SetFreeEdgeColor(double r, double g, double b);
// Color of edges in shading+edges display mode
- void SetEdgesInShadingColor(vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b);
+ void SetEdgesInShadingColor(double r, double g, double b);
// Color of iso-lines
- void SetIsosColor(vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b);
+ void SetIsosColor(double r, double g, double b);
// Material
GEOM_Actor(const GEOM_Actor&);
void operator=(const GEOM_Actor&);
- vtkFloatingPointType myEdgesInWireframeColor[3];
- vtkFloatingPointType myEdgesInShadingColor[3];
- vtkFloatingPointType myIsolatedEdgeColor[3];
- vtkFloatingPointType mySharedEdgeColor[3];
- vtkFloatingPointType myOneFaceEdgeColor[3];
+ double myEdgesInWireframeColor[3];
+ double myEdgesInShadingColor[3];
+ double myIsolatedEdgeColor[3];
+ double mySharedEdgeColor[3];
+ double myOneFaceEdgeColor[3];
};
#endif //GEOM_ACTOR_H
myPolyDataNormals(vtkPolyDataNormals::New(),true),
myActor(VTKViewer_Actor::New(),true)
{
- myStripper->SetInput(myPolyDataNormals->GetOutput());
- myPolyDataMapper->SetInput(myStripper->GetOutput());
+ myStripper->SetInputConnection(myPolyDataNormals->GetOutputPort());
+ myPolyDataMapper->SetInputConnection(myStripper->GetOutputPort());
myActor->SetMapper(myPolyDataMapper.Get());
myActor->PickableOff();
void
GEOM_DeviceActor::
-SetInput(vtkPolyData* thePolyData, bool theUseStripper)
+SetInput(vtkAlgorithmOutput* thePolyData, bool theUseStripper)
{
if(theUseStripper)
- myPolyDataNormals->SetInput(thePolyData);
+ {
+ myPolyDataNormals->SetInputConnection(thePolyData);
+ myStripper->SetInputConnection(myPolyDataNormals->GetOutputPort());
+ myPolyDataMapper->SetInputConnection(myStripper->GetOutputPort());
+ }
else
- myPolyDataMapper->SetInput(thePolyData);
+ myPolyDataMapper->SetInputConnection(thePolyData);
}
void
{
return myActor->GetProperty();
}
-
-void \r
-GEOM_DeviceActor:: \r
-SetBackfaceProperty(vtkProperty* theProperty)\r
-{\r
- myActor->SetBackfaceProperty(theProperty);\r
-}\r
- \r
-vtkProperty* \r
-GEOM_DeviceActor:: \r
-GetBackfaceProperty()\r
-{\r
- return myActor->GetBackfaceProperty();\r
-}\r
+
+void
+GEOM_DeviceActor::
+SetBackfaceProperty(vtkProperty* theProperty)
+{
+ myActor->SetBackfaceProperty(theProperty);
+}
+
+vtkProperty*
+GEOM_DeviceActor::
+GetBackfaceProperty()
+{
+ return myActor->GetBackfaceProperty();
+}
void
GEOM_DeviceActor::
#include <vtkObject.h>
+class vtkAlgorithmOutput;
class VTK_EXPORT GEOM_DeviceActor: public vtkObject
{
void SetProperty(vtkProperty* theProperty);
vtkProperty* GetProperty();
- \r
- void SetBackfaceProperty(vtkProperty* theProperty);\r
+
+ void SetBackfaceProperty(vtkProperty* theProperty);
vtkProperty* GetBackfaceProperty();
void SetVisibility(int theVisibility);
int GetVisibility();
- void SetInput(vtkPolyData* thePolyData, bool theUseStripper);
+ void SetInput(vtkAlgorithmOutput* thePolyData, bool theUseStripper);
void AddToRender(vtkRenderer* theRenderer);
void RemoveFromRender(vtkRenderer* theRenderer);
#include <vtkObjectFactory.h>
#include <vtkPolyData.h>
+#include <vtkInformation.h>
+#include <vtkInformationVector.h>
// OpenCASCADE Includes
#include <TopExp_Explorer.hxx>
//=======================================================================
-// Function : Execute
+// Function : RequestData
// Purpose :
//=======================================================================
+int GEOM_OCCReader::RequestData(vtkInformation *vtkNotUsed(request),
+ vtkInformationVector **inputVector,
+ vtkInformationVector *outputVector)
+{
+ vtkInformation *outInfo = outputVector->GetInformationObject(0);
+ vtkPolyData *output = vtkPolyData::SafeDownCast(
+ outInfo->Get(vtkDataObject::DATA_OBJECT()));
-void GEOM_OCCReader::Execute() {
-
- vtkPolyData* output = this->GetOutput();
vtkPoints* Pts = NULL;
vtkCellArray* Cells = NULL;
TopLoc_Location aLoc;
if(aPoly.IsNull()) {
Pts->Delete();
Cells->Delete();
- return;
+ return 0;
}
nbpts = aPoly->NbNodes();
else {
Cells->Delete();
Pts->Delete();
- return;
+ return 0;
}
}
}
Pts->Delete();
Cells->Delete();
-
+ return 1;
}
//=======================================================================
#include "GEOM_OBJECT_defs.hxx"
-#include <vtkPolyDataSource.h>
+#include <vtkAlgorithm.h>
class vtkPoints;
class vtkCellArray;
#include <GeomAbs_IsoType.hxx>
#include <BRepAdaptor_Surface.hxx>
-class GEOM_OBJECT_EXPORT GEOM_OCCReader : public vtkPolyDataSource {
+class GEOM_OBJECT_EXPORT GEOM_OCCReader : public vtkAlgorithm {
// methods
GEOM_OCCReader();
~GEOM_OCCReader();
- void Execute();
+
+ virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
void ComputeShading(vtkPoints* Pts,vtkCellArray* Cells);
void ComputeWireframe(vtkPoints* Pts,vtkCellArray* Cells);
vtkTypeMacro( GEOM_VTKTrihedronAxis, VTKViewer_Axis );
static GEOM_VTKTrihedronAxis* New();
- void SetAxis( const gp_Ax1& theAxis, const int theRot, vtkFloatingPointType theColor[ 3 ] );
+ void SetAxis( const gp_Ax1& theAxis, const int theRot, double theColor[ 3 ] );
virtual void Render( vtkRenderer* theRenderer );
- virtual void SetSize( vtkFloatingPointType theSize );
+ virtual void SetSize( double theSize );
gp_Pnt GetOri() const;
- void SetColor( const vtkFloatingPointType theColor[ 3 ] );
+ void SetColor( const double theColor[ 3 ] );
private:
- vtkFloatingPointType myOri[ 3 ];
+ double myOri[ 3 ];
vtkMatrix4x4* myMatrix;
vtkTransform* myTrsf;
};
myTrsf->Delete();
}
-void GEOM_VTKTrihedronAxis::SetSize( vtkFloatingPointType theSize )
+void GEOM_VTKTrihedronAxis::SetSize( double theSize )
{
- vtkFloatingPointType aPosition[ 3 ] = { myOri[ 0 ] + myDir[ 0 ] * theSize,
+ double aPosition[ 3 ] = { myOri[ 0 ] + myDir[ 0 ] * theSize,
myOri[ 1 ] + myDir[ 1 ] * theSize,
myOri[ 2 ] + myDir[ 2 ] * theSize };
void GEOM_VTKTrihedronAxis::SetAxis( const gp_Ax1& theAxis,
const int theRot,
- vtkFloatingPointType theColor[ 3 ] )
+ double theColor[ 3 ] )
{
gp_Pnt aLoc = theAxis.Location();
gp_Dir aDir = theAxis.Direction();
myDir[ 1 ] = aDir.Y();
myDir[ 2 ] = aDir.Z();
- vtkFloatingPointType aColor[ 3 ] = { 0, 0, 0 };
+ double aColor[ 3 ] = { 0, 0, 0 };
aColor[ theRot ] = 1;
if ( theColor[ 0 ] == -1 )
VTKViewer_Axis::SetColor( aColor[ 0 ], aColor[ 1 ], aColor[ 2 ] );
#endif
}
-void GEOM_VTKTrihedronAxis::SetColor( const vtkFloatingPointType theColor[ 3 ] )
+void GEOM_VTKTrihedronAxis::SetColor( const double theColor[ 3 ] )
{
VTKViewer_Axis::SetColor( theColor[ 0 ], theColor[ 1 ], theColor[ 2 ] );
}
myMapper->Delete();
}
-void GEOM_VTKTrihedron::SetSize( vtkFloatingPointType theSize )
+void GEOM_VTKTrihedron::SetSize( double theSize )
{
mySize = theSize;
for ( int i = 0; i < 3; i++ )
aSrcZ->SetPoint2( aEndZ.X(), aEndZ.Y(), aEndZ.Z() );
vtkAppendPolyData* aRes = vtkAppendPolyData::New();
- aRes->AddInput( aSrcX->GetOutput() );
- aRes->AddInput( aSrcY->GetOutput() );
- aRes->AddInput( aSrcZ->GetOutput() );
+ aRes->AddInputConnection( aSrcX->GetOutputPort() );
+ aRes->AddInputConnection( aSrcY->GetOutputPort() );
+ aRes->AddInputConnection( aSrcZ->GetOutputPort() );
- myMapper->SetInput( aRes->GetOutput() );
+ myMapper->SetInputConnection( aRes->GetOutputPort() );
SALOME_Actor::SetMapper( myMapper );
aSrcX->Delete();
( (GEOM_VTKTrihedronAxis*)myAxis[ 2 ] )->Render( r );
}
-void GEOM_VTKTrihedron::SetColor( vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b )
+void GEOM_VTKTrihedron::SetColor( double r, double g, double b )
{
myColor[ 0 ] = r;
myColor[ 1 ] = g;
if ( myAxis[ 2 ] ) ( (GEOM_VTKTrihedronAxis*)myAxis[ 2 ] )->SetColor( myColor );
}
-void GEOM_VTKTrihedron::GetColor( vtkFloatingPointType& r, vtkFloatingPointType& g, vtkFloatingPointType& b )
+void GEOM_VTKTrihedron::GetColor( double& r, double& g, double& b )
{
r = myColor[ 0 ];
g = myColor[ 1 ];
SetAxesColors( myDefaultColor, true );
}
-void GEOM_VTKTrihedron::SetAxesColors( vtkFloatingPointType theColor[3], bool theIsDiffuse )
+void GEOM_VTKTrihedron::SetAxesColors( double theColor[3], bool theIsDiffuse )
{
myAxis[ 0 ]->SetColor( theColor[0], theIsDiffuse ? 0.0 : theColor[1], theIsDiffuse ? 0.0 : theColor[2] );
myAxis[ 1 ]->SetColor( theIsDiffuse ? 0.0 : theColor[0], theColor[1], theIsDiffuse ? 0.0 : theColor[2] );
vtkTypeMacro( GEOM_VTKTrihedron, SALOME_Actor );
static GEOM_VTKTrihedron* New();
- virtual vtkFloatingPointType GetSize() { return mySize;}
+ virtual double GetSize() { return mySize;}
virtual void SetVisibility( int theVisibility );
virtual void SetVisibility( VTKViewer_Trihedron::TVisibility theVis );
virtual void Render(vtkRenderer *, vtkMapper *);
virtual bool IsSetCamera() const;
virtual bool IsResizable() const;
- virtual void SetSize( vtkFloatingPointType );
+ virtual void SetSize( double );
virtual void SetCamera( vtkCamera* );
- void SetColor( vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b );
- void GetColor( vtkFloatingPointType& r, vtkFloatingPointType& g, vtkFloatingPointType& b );
+ void SetColor( double r, double g, double b );
+ void GetColor( double& r, double& g, double& b );
virtual bool hasHighlight() { return true; }
protected:
virtual void ResetAxesColors();
- virtual void SetAxesColors( vtkFloatingPointType theColor[3], bool theIsDiffuse = false );
+ virtual void SetAxesColors( double theColor[3], bool theIsDiffuse = false );
protected:
VTKViewer_Axis* myAxis[3];
vtkPolyDataMapper* myMapper;
- vtkFloatingPointType mySize;
+ double mySize;
gp_Pnt myLocation;
gp_Dir myDirX, myDirY, myDirZ;
- vtkFloatingPointType myColor[ 3 ];
- vtkFloatingPointType myDefaultColor[ 3 ];
- vtkFloatingPointType myPreHighlightColor[ 3 ];
- vtkFloatingPointType myHighlightColor[ 3 ];
+ double myColor[ 3 ];
+ double myDefaultColor[ 3 ];
+ double myPreHighlightColor[ 3 ];
+ double myHighlightColor[ 3 ];
};
#endif
#include <vtkStripper.h>
#include <vtkPolyData.h>
+#include <vtkInformation.h>
+#include <vtkInformationVector.h>
vtkStandardNewMacro(GEOM_EdgeSource);
GEOM_EdgeSource::GEOM_EdgeSource() :
myIsVector(false)
{
+ this->SetNumberOfInputPorts(0);
}
GEOM_EdgeSource::~GEOM_EdgeSource()
myIsVector = theIsVector;
}
-void
-GEOM_EdgeSource::
-Execute()
+int GEOM_EdgeSource::RequestData(vtkInformation *vtkNotUsed(request),
+ vtkInformationVector **vtkNotUsed(inputVector),
+ vtkInformationVector *outputVector)
{
- vtkPolyData* aPolyData = GetOutput();
+ vtkInformation *outInfo = outputVector->GetInformationObject(0);
+ vtkPolyData *aPolyData = vtkPolyData::SafeDownCast(
+ outInfo->Get(vtkDataObject::DATA_OBJECT()));
+
aPolyData->Allocate();
vtkPoints* aPts = vtkPoints::New();
aPolyData->SetPoints(aPts);
anEdge.Orientation( TopAbs_FORWARD );
OCC2VTK(anEdge,aPolyData,aPts,myIsVector||myIsVectorMode);
}
+ return 1;
}
void GEOM_EdgeSource::OCC2VTK (const TopoDS_Edge& theEdge,
typedef NCollection_Set<TopoDS_Edge> TEdgeSet;
#include <vtkPoints.h>
-#include <vtkPolyDataSource.h>
+#include <vtkPolyDataAlgorithm.h>
-class OCC2VTK_EXPORT GEOM_EdgeSource: public vtkPolyDataSource
+class vtkPolyData;
+
+class OCC2VTK_EXPORT GEOM_EdgeSource: public vtkPolyDataAlgorithm
{
public:
- vtkTypeMacro(GEOM_EdgeSource,vtkPolyDataSource);
+ vtkTypeMacro(GEOM_EdgeSource,vtkPolyDataAlgorithm);
static GEOM_EdgeSource* New();
void AddEdge (const TopoDS_Edge& theEdge,
// representing a vector, can have only one edge.
bool myIsVector, myIsVectorMode;
- void Execute();
+ virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
GEOM_EdgeSource();
~GEOM_EdgeSource();
GEOM_FaceSource::GEOM_FaceSource()
{
+ this->SetNumberOfInputPorts(0);
}
GEOM_FaceSource::~GEOM_FaceSource()
typedef NCollection_Set<TopoDS_Face> TFaceSet;
#include <vtkPoints.h>
-#include <vtkPolyDataSource.h>
+#include <vtkPolyDataAlgorithm.h>
-class OCC2VTK_EXPORT GEOM_FaceSource: public vtkPolyDataSource
+class vtkPolyData;
+
+class OCC2VTK_EXPORT GEOM_FaceSource: public vtkPolyDataAlgorithm
{
public:
- vtkTypeMacro(GEOM_FaceSource,vtkPolyDataSource);
+ vtkTypeMacro(GEOM_FaceSource,vtkPolyDataAlgorithm);
void AddFace(const TopoDS_Face& theFace);
void Clear(){ myFaceSet.Clear();}
#include <vtkPolyDataMapper.h>
#include <vtkPolyData.h>
+#include <vtkInformation.h>
+#include <vtkInformationVector.h>
#include <BRep_Tool.hxx>
#include <Poly_Triangulation.hxx>
-
+
vtkStandardNewMacro(GEOM_ShadingFace);
GEOM_ShadingFace::GEOM_ShadingFace()
{
+ this->SetNumberOfInputPorts(0);
}
GEOM_ShadingFace::~GEOM_ShadingFace()
{
}
-void
-GEOM_ShadingFace::
-Execute()
+int GEOM_ShadingFace::RequestData(vtkInformation *vtkNotUsed(request),
+ vtkInformationVector **vtkNotUsed(inputVector),
+ vtkInformationVector *outputVector)
{
- vtkPolyData* aPolyData = GetOutput();
+ vtkInformation *outInfo = outputVector->GetInformationObject(0);
+ vtkPolyData *aPolyData = vtkPolyData::SafeDownCast(
+ outInfo->Get(vtkDataObject::DATA_OBJECT()));
+
aPolyData->Allocate();
vtkPoints* aPts = vtkPoints::New();
aPolyData->SetPoints(aPts);
const TopoDS_Face& aFace = anIter.Value();
OCC2VTK(aFace,aPolyData,aPts);
}
+ return 1;
}
void
vtkPoints* thePts);
protected:
- void Execute();
+ virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
GEOM_ShadingFace();
~GEOM_ShadingFace();
#include <vtkCellArray.h>
#include <vtkPolyData.h>
#include <vtkPolyDataMapper.h>
+#include <vtkInformation.h>
+#include <vtkInformationVector.h>
#include <gp_Pnt.hxx>
#include <BRep_Tool.hxx>
GEOM_VertexSource::GEOM_VertexSource()
{
+ this->SetNumberOfInputPorts(0);
}
GEOM_VertexSource::~GEOM_VertexSource()
myVertexSet.Add(theVertex);
}
-void
-GEOM_VertexSource::
-Execute()
+int GEOM_VertexSource::RequestData(vtkInformation *vtkNotUsed(request),
+ vtkInformationVector **vtkNotUsed(inputVector),
+ vtkInformationVector *outputVector)
{
- vtkPolyData* aPolyData = GetOutput();
+ vtkInformation *outInfo = outputVector->GetInformationObject(0);
+ vtkPolyData *aPolyData = vtkPolyData::SafeDownCast(
+ outInfo->Get(vtkDataObject::DATA_OBJECT()));
+
aPolyData->Allocate();
vtkPoints* aPts = vtkPoints::New();
aPolyData->SetPoints(aPts);
const TopoDS_Vertex& aVertex = anIter.Value();
OCC2VTK(aVertex,aPolyData,aPts);
}
+ return 1;
}
void
typedef NCollection_Set<TopoDS_Vertex> TVertexSet;
#include <vtkPoints.h>
-#include <vtkPolyDataSource.h>
+#include <vtkPolyDataAlgorithm.h>
-class OCC2VTK_EXPORT GEOM_VertexSource: public vtkPolyDataSource
+class vtkPolyData;
+
+class OCC2VTK_EXPORT GEOM_VertexSource: public vtkPolyDataAlgorithm
{
public:
- vtkTypeMacro(GEOM_VertexSource,vtkPolyDataSource);
+ vtkTypeMacro(GEOM_VertexSource,vtkPolyDataAlgorithm);
static GEOM_VertexSource* New();
void AddVertex(const TopoDS_Vertex& theVertex);
protected:
TVertexSet myVertexSet;
- void Execute();
+ virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
GEOM_VertexSource();
~GEOM_VertexSource();
#include <vtkPolyDataMapper.h>
#include <vtkPolyData.h>
+#include <vtkInformation.h>
+#include <vtkInformationVector.h>
#include <Precision.hxx>
#include <BRepTools.hxx>
{
NbIso[0] = 1;
NbIso[1] = 1;
+
+ this->SetNumberOfInputPorts(0);
}
GEOM_WireframeFace::~GEOM_WireframeFace()
{
}
-void
-GEOM_WireframeFace::
-Execute()
+int GEOM_WireframeFace::RequestData(vtkInformation *vtkNotUsed(request),
+ vtkInformationVector **vtkNotUsed(inputVector),
+ vtkInformationVector *outputVector)
{
- vtkPolyData* aPolyData = GetOutput();
+ vtkInformation *outInfo = outputVector->GetInformationObject(0);
+ vtkPolyData *aPolyData = vtkPolyData::SafeDownCast(
+ outInfo->Get(vtkDataObject::DATA_OBJECT()));
+
aPolyData->Allocate();
vtkPoints* aPts = vtkPoints::New();
aPolyData->SetPoints(aPts);
const TopoDS_Face& aFace = anIter.Value();
OCC2VTK(aFace,aPolyData,aPts,NbIso,Discret);
}
+ return 1;
}
void GEOM_WireframeFace::SetNbIso(const int theNb[2])
#include <GeomAbs_IsoType.hxx>
#include <BRepAdaptor_Surface.hxx>
-#include <vtkPolyDataSource.h>
+class vtkPolyData;
class OCC2VTK_EXPORT GEOM_WireframeFace: public GEOM_FaceSource
{
vtkPolyData* thePolyData,
vtkPoints* thePts);
- void Execute();
+ virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
GEOM_WireframeFace();
~GEOM_WireframeFace();
double position[3];
anActiveCamera->GetPosition( position );
- vtkFloatingPointType bounds[6];
+ double bounds[6];
aRenderer->ComputeVisiblePropBounds( bounds );
double center[3];
( position[1]-center[1] ) * ( position[1]-center[1] ) +
( position[2]-center[2] ) * ( position[2]-center[2] ) );
- vtkFloatingPointType range[2] = { distance - width/2.0, distance + width/2.0 };
+ double range[2] = { distance - width/2.0, distance + width/2.0 };
SpinBox_Near->setValue( range[0] );
SpinBox_Far->setValue( range[1] );
return false;
}
- vtkFloatingPointType range[2] = { SpinBox_Near->value(), SpinBox_Far->value() };
+ double range[2] = { SpinBox_Near->value(), SpinBox_Far->value() };
if ( range[0] < 0.0 ) range[0] = 0.0;
anActiveCamera->SetClippingRange( range );
double position[3];
anActiveCamera->GetPosition( position );
- vtkFloatingPointType bounds[6];
+ double bounds[6];
aRenderer->ComputeVisiblePropBounds( bounds );
double center[3];
( position[1]-center[1] ) * ( position[1]-center[1] ) +
( position[2]-center[2] ) * ( position[2]-center[2] ) );
- vtkFloatingPointType range[2] = { distance - width/2.0, distance + width/2.0 };
+ double range[2] = { distance - width/2.0, distance + width/2.0 };
SpinBox_Near->setValue( range[0] );
SpinBox_Far->setValue( range[1] );
GEOM_ShadingFace* myShadingFaceSource = GEOM_ShadingFace::New();
vtkAppendPolyData* myAppendFilter = vtkAppendPolyData::New();
- myAppendFilter->AddInput( myVertexSource->GetOutput() );
- myAppendFilter->AddInput( myIsolatedEdgeSource->GetOutput() );
- myAppendFilter->AddInput( myOneFaceEdgeSource->GetOutput() );
- myAppendFilter->AddInput( mySharedEdgeSource->GetOutput() );
- //myAppendFilter->AddInput( myWireframeFaceSource->GetOutput() ); // iso-lines are unnecessary
- myAppendFilter->AddInput( myShadingFaceSource->GetOutput() );
+ myAppendFilter->AddInputConnection( myVertexSource->GetOutputPort() );
+ myAppendFilter->AddInputConnection( myIsolatedEdgeSource->GetOutputPort() );
+ myAppendFilter->AddInputConnection( myOneFaceEdgeSource->GetOutputPort() );
+ myAppendFilter->AddInputConnection( mySharedEdgeSource->GetOutputPort() );
+ //myAppendFilter->AddInputConnection( myWireframeFaceSource->GetOutputPort() ); // iso-lines are unnecessary
+ myAppendFilter->AddInputConnection( myShadingFaceSource->GetOutputPort() );
float aDeflection = 0.001;
bool anIsVector = false;
Kernel_Utils::Localizer loc;
vtkPolyDataWriter* aWriter = vtkPolyDataWriter::New();
- aWriter->SetInput( myAppendFilter->GetOutput() );
+ aWriter->SetInputConnection( myAppendFilter->GetOutputPort() );
aWriter->SetFileName( theFileName.ToCString() );
aWriter->Write();
aWriter->Delete();