Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jwg12 Remove IfcGradient #10

Open
aothms opened this issue Sep 5, 2022 · 7 comments
Open

jwg12 Remove IfcGradient #10

aothms opened this issue Sep 5, 2022 · 7 comments

Comments

@aothms
Copy link
Member

aothms commented Sep 5, 2022

Unspecified function, to be reintroduced in new TC

@aothms
Copy link
Member Author

aothms commented Sep 5, 2022

--- tmp/a/IFC.exp	2022-08-26 23:24:14.652041400 +0200
+++ tmp/b/IFC.exp	2022-09-05 20:18:52.668030700 +0200
@@ -7230,22 +7230,20 @@
  WHERE
 	CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
  (PredefinedType <> IfcGeotechnicalStratumTypeEnum.USERDEFINED) OR
  ((PredefinedType = IfcGeotechnicalStratumTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
 END_ENTITY;
 
 ENTITY IfcGradientCurve
  SUBTYPE OF (IfcCompositeCurve);
 	BaseCurve : IfcBoundedCurve;
 	EndPoint : OPTIONAL IfcPlacement;
- DERIVE
-	 RelativeElevation : IfcLengthMeasure := IfcGradient(SELF);
 END_ENTITY;
 
 ENTITY IfcGrid
  SUBTYPE OF (IfcPositioningElement);
 	UAxes : LIST [1:?] OF UNIQUE IfcGridAxis;
 	VAxes : LIST [1:?] OF UNIQUE IfcGridAxis;
 	WAxes : OPTIONAL LIST [1:?] OF UNIQUE IfcGridAxis;
 	PredefinedType : OPTIONAL IfcGridTypeEnum;
 END_ENTITY;
 
@@ -13072,26 +13070,20 @@
     IF N > 1 THEN
       REPEAT i := 2 TO N;
         Surfs := Surfs * IfcGetBasisSurface(C\IfcCompositeCurve.Segments[1].ParentCurve);
       END_REPEAT;
     END_IF;
   END_IF;
   RETURN(Surfs);
 
 END_FUNCTION;
 
-FUNCTION IfcGradient
-(GradientCurve : IfcGradientCurve) : IfcLengthMeasure;
-  RETURN(1);
-
-END_FUNCTION;
-
 FUNCTION IfcListToArray
 (Lis : LIST [0:?] OF GENERIC : T;
        Low,U : INTEGER) : ARRAY OF GENERIC : T;
    LOCAL
      N   : INTEGER;
      Res : ARRAY [Low:U] OF GENERIC : T;
    END_LOCAL;
       
    N := SIZEOF(Lis);
    IF (N <> (U-Low +1)) THEN

@SergejMuhic
Copy link

I would argue strongly against it. Instead bSI should have finished the function as promised. It is essential for the parametrization and distance measuring along IfcGradientCurve. Distance measuring in turn is critical for placement which is critical for stationing. This would be a great regression.

@aothms
Copy link
Member Author

aothms commented Sep 26, 2022

Instead bSI should have finished the function as promised

I'm not aware of any such agreements (I also wouldn't be if they exist) but who could have finished it? There doesn't seem to be anything specified.

This would be a great regression.

In its current form this isn't a regression as the current specification of the function is meaningless.

I do agree that we should have had something. I created an issue about this on Jul 6 buildingSMART/IFC4.3.x-development#497 but got no response. It'll have to come in a new corrigendum or addendum. Textual clarification I think can still be made as of now.

@SergejMuhic
Copy link

Leon wanted to finish schema and General Usage. I listed the issues in many meetings. It was then said we are not supposed to touch anything. That is why GU is still in disarray I think.

I can take an afternoon and make a proposal. I would definitely prefer not to remove this.

@aothms
Copy link
Member Author

aothms commented Sep 27, 2022

@evandroAlfieri @berlotti Thoughts?

@berlotti
Copy link

Without use-cases and proper test-cases nothing can be done.
When it is unclear how to use it, it should not be in a standard.

@SergejMuhic
Copy link

Without use-cases and proper test-cases nothing can be done.
When it is unclear how to use it, it should not be in a standard.

We tested plenty but the plan was to finalize these kinds of definitions in the MVD project. There were many discussions even after the project where @peterrdf found issues in his implementation. So, again, in order to avoid ambiguity, the definition should be there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants