Salome HOME
Merge branch 'V9_11_BR'
[modules/geom.git] / src / GEOM / GEOM_Field.cxx
index bfc485c60e461fbdb836711afc891b47bbdc7cd8..164fc8aab4e92085451e7d58b9645e3f4e4e0af1 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -6,7 +6,7 @@
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -46,7 +46,7 @@ namespace
 {
   //================================================================================
   /*!
-   * \brief Returns a funtion with a given type OR the 1st function
+   * \brief Returns a function with a given type OR the 1st function
    */
   //================================================================================
 
@@ -101,7 +101,7 @@ void GEOM_Field::Init(const Handle(GEOM_Object)&                     theShape,
 {
   Handle(GEOM_Function) fun = GetFunction(1);
   if ( !fun.IsNull() )
-    Standard_MultiplyDefined::Raise( "Reinitialization of GEOM_Field is forbiden" );
+    Standard_MultiplyDefined::Raise( "Reinitialization of GEOM_Field is forbidden" );
   fun = AddFunction( GetFieldID(), FUN_ADD_FIELD );
 
   GEOM_IField data( fun );
@@ -318,8 +318,8 @@ Handle(TColStd_HArray1OfExtendedString) GEOM_Field::GetComponents()
 //function : getFunctionToSetValues
 //purpose  : dump any HArray into a string
 //=======================================================================
-template< class Handle_HARRAY1 >
-TCollection_AsciiString arrayToSting( const Handle_HARRAY1& ar,
+template< class HandleArray1 >
+TCollection_AsciiString arrayToSting( const HandleArray1& ar,
                                       const char*            quote="")
 {
   TCollection_AsciiString s;
@@ -364,7 +364,7 @@ Handle(GEOM_FieldStep) GEOM_Field::AddStep(const int stepID, const int stamp)
   if(anEngine == NULL) return NULL;
 
   step = Handle(GEOM_FieldStep)::DownCast
-    ( anEngine->AddBaseObject( GetDocID(),GEOM_FIELD_STEP_OBJTYPE ));
+    ( anEngine->AddBaseObject( GEOM_FIELD_STEP_OBJTYPE ));
   if ( step.IsNull())
     return step;
 
@@ -498,7 +498,7 @@ void GEOM_FieldStep::Init(const Handle(GEOM_Field)& theField,
 {
   Handle(GEOM_Function) fun = GetFunction(1);
   if ( !fun.IsNull() )
-    Standard_MultiplyDefined::Raise( "Reinitialization of GEOM_FieldStep is forbiden" );
+    Standard_MultiplyDefined::Raise( "Reinitialization of GEOM_FieldStep is forbidden" );
   fun = AddFunction( GEOM_Field::GetFieldID(), GEOM_Field::FUN_ADD_STEP );
 
   GEOM_IField data( fun );
@@ -570,24 +570,17 @@ int GEOM_FieldStep::GetID()
 
 void GEOM_FieldStep::SetStamp(const int stamp)
 {
-  Handle(GEOM_Function) fun = GetLastFunction();
-  if ( fun.IsNull() ) return;
-  if ( fun->GetType() == GEOM_Field::FUN_ADD_STEP )
-  {
-    // it's creation of the step, dump is performed outside
-    GEOM_IField data( fun );
-    data.SetStepStamp( stamp );
-  }
-  else
+  if ( GetStamp() != stamp )
   {
     // it's stamp modification: field.setStamp(step, stamp)
-    fun = AddFunction( GEOM_Field::GetFieldID(), GEOM_Field::FUN_CHANGE_STEP_STAMP );
+    Handle(GEOM_Function) fun =
+      AddFunction( GEOM_Field::GetFieldID(), GEOM_Field::FUN_CHANGE_STEP_STAMP );
 
     GEOM_IField data( fun );
     data.SetStepStamp( stamp );
 
     TPythonDump( fun ) <<
-      GetField() << ".setStamp( " << data.GetStepID() << ", " << stamp << " )";
+      GetField() << ".setStamp( " << GetID() << ", " << stamp << " )";
   }
 }
 
@@ -602,7 +595,7 @@ int GEOM_FieldStep::GetStamp()
   Handle(GEOM_Function) fun = getFunction( GEOM_Field::FUN_CHANGE_STEP_STAMP, this );
   if ( !fun.IsNull() )
     return GEOM_IField( fun ).GetStepStamp();
-  return std::numeric_limits<int>::max(); // very strange
+  return std::numeric_limits<int>::max();
 }
 
 //=======================================================================
@@ -635,7 +628,7 @@ GEOM_FieldStep::getFunctionToSetValuesAndDump( const TCollection_AsciiString& va
 
 //=======================================================================
 //function : SetValues
-//purpose  : Sets int or bool values
+//purpose  : Set int or bool values
 //=======================================================================
 
 bool GEOM_FieldStep::SetValues( const Handle(TColStd_HArray1OfInteger)& values )
@@ -763,7 +756,5 @@ const Standard_GUID& GEOM_FieldStep::GetDataID()
   return TDataStd_ExtStringArray::GetID();
 }
 
-IMPLEMENT_STANDARD_HANDLE (GEOM_Field, GEOM_BaseObject );
-IMPLEMENT_STANDARD_RTTIEXT(GEOM_Field, GEOM_BaseObject );
-IMPLEMENT_STANDARD_HANDLE (GEOM_FieldStep, GEOM_BaseObject );
-IMPLEMENT_STANDARD_RTTIEXT(GEOM_FieldStep, GEOM_BaseObject );
+IMPLEMENT_STANDARD_RTTIEXT(GEOM_Field, GEOM_BaseObject )
+IMPLEMENT_STANDARD_RTTIEXT(GEOM_FieldStep, GEOM_BaseObject )