View Issue Details

IDProjectCategoryView StatusLast Update
0031704Open CASCADEOCCT:Visualizationpublic2021-10-19 12:28
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.6.0Fixed in Version7.6.0 
Summary0031704: Visualization - add an interactive object AIS_LightSource representing a light source
DescriptionIt is desired providing an interactive object representing a light source.
Minimal requirements to the object:
- Should be bound to Graphic3d_CLight;
- Represent the basic properties of light source:
   * Position via icon of positional light sources (point, spot),
   * Vector of directional light sources,
   * Spot light source cone shape,
   * Name,
   * Light color,
   * Light intensity,
   * On/off state,
   * Headlight mark,
   * Cut-off range (distance);
- Assigning Local Transformation to interactive object should move corresponding light source;
- Headlight flag should define transformation-persistence mode.
- Advanced selection modes:
   * Ability to turn light on/off.

Testing:
- vlight should be extended with an option creating/removing presentation of defined light sources.
- A representable scene should be defined for playing with multiple light sources of different type.
Steps To Reproduce

pload MODELING VISUALIZATION
vclear
vinit View1 -width 1280 -height 720
vviewcube vc
box r -2500 -2000 0 5000 4000 3000
explode r FACE
vdisplay -noupdate -dispMode 1 r_1 r_2 r_4 r_5 r_6
vsetmaterial -noupdate r_1 STONE
vsetmaterial -noupdate r_2 STONE
vsetmaterial -noupdate r_4 STONE
vsetmaterial -noupdate r_5 STONE
vsetmaterial -noupdate r_6 STONE
vfit
vtrihedron t 0 0 0

box b1 0 0 0 1000 1000 1000
psphere s1 500
vdisplay -noupdate -dispMode 1 b1 s1
vsetmaterial -noupdate b1 PLASTIC
vsetmaterial -noupdate s1 GOLD
vlocation b1 -location -2000 0   0
vlocation s1 -location  1500 500 500

vrenderparams -shadingModel PBR
#vrenderparams -shadingModel PHONG
vlight -clear
vlight -add AMBIENT -intensity 0.1

set pg {-1500 500 1500}
vlight -add POSITIONAL -intensity 1000000 -pos {*}$pg -color GREEN -constAtten 1 -linearAtten 0.01 -display POSITIONAL_LIGHT -showName
#vlight -add POSITIONAL -intensity 1000000 -pos {*}$pg -color GREEN -range 1000 # KO range for Phong
vpoint pgp {*}$pg; vsetcolor pgp GREEN
psphere pgs 100; vdisplay -noupdate -dispMode 0 pgs; vlocation pgs -location {*}$pg; vsetcolor pgs GREEN

set sr {0 0 500}
vlight -add SPOT -intensity 100000000 -pos {*}$sr -dir 1 0 0 -color RED -display SPOT_RED -showallaspects
vpoint srp {*}$sr; vsetcolor srp RED
vpoint srp2 [expr [lindex $sr 0] + 100] [lindex $sr 1] [lindex $sr 2]; vsegment srd srp srp2; vsetcolor srd RED; verase srp2

vlight -add SPOT -intensity 100000000 -pos 0 0 0 -dir 0 0.2 -1 -color WHITE -head 1
vmanipulator manipulator -attach POSITIONAL_LIGHT -adjustPosition location
TagsNo tags attached.
Test case numbertests/v3d/light_source/display_all,headlight,manipulator

Attached Files

  • photo_2021-01-22_19-01-10.jpg (114,916 bytes)
  • display_all_updated.png (25,136 bytes)
  • manipulator.png (25,950 bytes)
  • display_all_off.png (17,892 bytes)

Relationships

parent of 0032183 closedbugmaster Open CASCADE Visualization - implement AIS_LightSource::ProcessDragging() for rotating directional light 
related to 0031705 closedbugmaster Open CASCADE Visualization - move out construction of predefined markers from OpenGl_AspectsSprite to Graphic3d_MarkerImage 
related to 0032055 closedbugmaster Open CASCADE Draw Harness, ViewerTest - add more vmanipulator position adjusting options 
related to 0032116 assigneddrochalo Open CASCADE Visualization - AIS_Manipulator is unusable when attaching to objects with Graphic3d_TMF_ZoomPers 
related to 0032117 closedbugmaster Open CASCADE Visualization, TKOpenGl - assert in OpenGl_AspectsSprite due to implicit destruction of existing resource 
related to 0032121 closedkgv Open CASCADE Draw Harness, ViewerTest - implement -reset option for vlight command 
related to 0027919 closedbugmaster Open CASCADE Visualization - support multiple transformation persistence groups within single presentation 
related to 0027955 newvpozdyayev Open CASCADE Visualization - handle positional lights within transformation persistent objects 

Activities

git

2020-10-02 18:26

administrator   ~0095600

Branch CR31704 has been created by mkrylova.

SHA-1: 449cb897fd43a804147007dceb93e3ee22622cfa


Detailed log of new commits:

Author: mkrylova
Date: Tue Sep 8 17:50:28 2020 +0300

    0031704: Visualization - add an interactive object AIS_LightSource representing a light source
    
    - Added new class AIS_LightSource - object representing a light source
    - Represented position, name, direction, Cut-off range and spot light source cone shape
    - Assigned Local Transformation to interactive object
    - Added an alternative function vlight, that manage the light by AIS_LightSource tools

git

2020-10-09 19:03

administrator   ~0095879

Branch CR31704 has been updated forcibly by mkrylova.

SHA-1: cec6ad406877f31bc45292c94fc5307e12457774

git

2020-10-09 19:06

administrator   ~0095880

Branch CR31704_1 has been created by mkrylova.

SHA-1: 43f03af5b8e1517a7dc485129b90fae304ae82da


Detailed log of new commits:

Author: mkrylova
Date: Tue Sep 8 17:50:28 2020 +0300

    0031704: Visualization - add an interactive object AIS_LightSource representing a light source
    
    - Added new class AIS_LightSource - object representing a light source
    - Represented position, name, direction, Cut-off range and spot light source cone shape
    - Assigned Local Transformation to interactive object
    - Added an alternative function vlight, that manage the light by AIS_LightSource tools
    - Added ability to turn on/off light interactively
    - Extended vlight_lightsource by opportunity to display light attributes

nds

2020-10-12 12:34

developer   ~0095885

Dear Maria,

desired presentation!
But, how can you use class from AIS package in low-level V3d?

Best regards, Natalia

git

2020-10-14 18:33

administrator   ~0095980

Branch CR31704_1 has been updated by mkrylova.

SHA-1: 72b0666c5e2712df930500993cf28fa96d803b2d


Detailed log of new commits:

Author: mkrylova
Date: Wed Oct 14 17:41:34 2020 +0300

    krv remarks:
    - delete mentions of AIS_LightSource in V3d_View
    - delete a clone method of vlight
    - update method vlight with possibilities of presentation via AIS_LightSource tools
    - move all presentation to method Compute

git

2020-10-14 18:38

administrator   ~0095981

Branch CR31704_2 has been created by mkrylova.

SHA-1: 5ad480ce0af5a44b1570235dbe39c1f7ddd3f56a


Detailed log of new commits:

Author: mkrylova
Date: Tue Sep 8 17:50:28 2020 +0300

    0031704: Visualization - add an interactive object AIS_LightSource representing a light source
    
    - Added new class AIS_LightSource - object representing a light source
    - Represented position, name, direction, Cut-off range and spot light source cone shape
    - Assigned Local Transformation to interactive object
    - Updated function vlight with opportunities of presentation via AIS_LightSource tools
    - Added ability to turn on/off light intera

kgv

2020-10-14 19:15

developer   ~0095982

+void AIS_LightSource::SetName (const TCollection_AsciiString& theName, Standard_Boolean theIsDisplay)
+{
+  myLightSource->SetName (theName);
+  isNameDisplayed = theIsDisplay;
+  // redisplay presentation
+  myCTXPtr->Display(this, Standard_True);
+  myCTXPtr->Redisplay(this, Standard_True);

This logic contradicts to AIS design - presentation itself is not supposed to redisplay itself on assigning some properties.

Use SetToUpdate() method to invalidate presentation and (re)display object outside (e.g. within vlight command, if needed).

kgv

2020-10-14 19:17

developer   ~0095983

+  //! Alias for IsHeadlight().
+  Standard_Boolean Headlight() const { return myLightSource->Headlight(); }
+
+  //! Setup headlight flag.
+  void SetHeadlight (Standard_Boolean theValue) 
+  { 
+    myLightSource->SetHeadlight (theValue);
+  }

These is no point duplicating all Light properties within Interactive Object - it would be enough providing a getter to Light source itself.

kgv

2020-10-14 19:19

developer   ~0095984

+      if (++anArgIt < theArgsNb)
+        if (Atof (theArgVec[anArgIt]) == 1)

Please never omit brackets within if statement.

git

2020-10-27 17:32

administrator   ~0096305

Branch CR31704_3 has been created by mkrylova.

SHA-1: c91df6ae54a18b45278e151f8a87bff72e249b0f


Detailed log of new commits:

Author: mkrylova
Date: Tue Sep 8 17:50:28 2020 +0300

    0031704: Visualization - add an interactive object AIS_LightSource representing a light source
    
    - Added new class AIS_LightSource - object representing a light source
    - Represented position, name, direction, Cut-off range and spot light source cone shape
    - Assigned Local Transformation to interactive object
    - Updated function vlight with opportunities of presentation via AIS_LightSource tools
    - Added ability to turn on/off light
    - Added Transformation-persistence mode

kgv

2020-10-28 08:13

developer   ~0096323

Maria, could you please put a detailed textual description (as well as a couple of screenshors) of the current patch as a comment to this bug?
- Presentation aspects of each light source type;
- Implemented interaction mechanisms.

Please also put test cases for testing new functionality.

mkrylova

2020-10-28 15:33

developer   ~0096336

This patch provides the opportunity for presentation of light sources. Presentation of directional light source consists of the name of light and a line that is co-directed with the light direction.
Presentation of positional light source is made of the name of light, position and three circles radius of which is equal to range of light.
Presentation of spot light consists of the name and position of light source, direction like in directional light presentation, 2 segments starting at the light source’s position, the length of which is equal to the range of light source. The angle between these segments is equal to the angle of the light source. The ends of these segments are connected by a third segment, which is the diameter of the circle, indicating the spot from the light source.
Similar presentation is used in light sources presentation with head light mark that activates transformation-persistence mode.
In addition, this patch extended function vlight. First, two new commands were added, they are –display and –del_pres, these commands add and delete presentations of light sources respectively. These commands without any arguments are applied to all the light sources, but the user can specify the light to which he wants to display/delete the presentation by adding the number of light as an argument to –display/-del_pres. Also, to show/hide a specific presentation element, new arguments were added to -name, -range, -pos, -dir, -angle commands. Now the user can put 1 or 0 after all the arguments describing the light source characteristic, if the user wants to display or hide this element accordingly. By default, the item is not displayed.
One more feature that is provided in this patch is the ability to turn on/off the specific light source interactively in Viewer3d by clicking on its position.
To manage the light source interactively a user can use vmanipulator command. To attach light source to manipulator use the light source id that is specified in the vlight command.

git

2020-10-28 16:46

administrator   ~0096339

Branch CR31704_3 has been updated by mkrylova.

SHA-1: 14f3ac93de797bcff084ca9f750d8aa9cde9e1fb


Detailed log of new commits:

Author: mkrylova
Date: Wed Oct 28 16:51:09 2020 +0300

    - fix code style mistakes
    - fix transformation for directional light sources

git

2020-10-29 15:47

administrator   ~0096372

Branch CR31704_3 has been updated by mkrylova.

SHA-1: ccb542c25a688aa9e7875b019d98379c62ab005c


Detailed log of new commits:

Author: mkrylova
Date: Thu Oct 29 15:51:58 2020 +0300

    - added comments
    - fixed displaying mistakes
    - fixed code style

git

2020-10-29 15:48

administrator   ~0096375

Branch CR31704_4 has been created by mkrylova.

SHA-1: 05aef6c35868126415104ff8fec707e37afae5a1


Detailed log of new commits:

Author: mkrylova
Date: Tue Sep 8 17:50:28 2020 +0300

    0031704: Visualization - add an interactive object AIS_LightSource representing a light source
    
    - Added new class AIS_LightSource - object representing a light source
    - Represented position, name, direction, Cut-off range and spot light source cone shape
    - Assigned Local Transformation to interactive object
    - Updated function vlight with opportunities of presentation via AIS_LightSource tools
    - Added ability to turn on/off light
    - Added Transformation-persistence mode

osa

2020-11-02 09:39

developer   ~0096434

+ Graphic3d_TMF_CameraFullPers = Graphic3d_TMF_ZoomRotatePers
+ | Graphic3d_TMF_CameraPers, //!< object is in front of the camera and doesn't resize and rotate

Unexpected comma at the end of last enum item.

osa

2020-11-02 09:44

developer   ~0096435

Last edited: 2020-11-02 10:23

if ((!IsZoomOrRotate (theMode)) && (theMode != Graphic3d_TMF_None))
Redundant parentheses.

osa

2020-11-02 10:08

developer   ~0096436

Last edited: 2020-11-02 10:24

+class AIS_LightSource : public AIS_InteractiveObject
+{
+ //! constructors
=> //! Constructors

+ //! light properties
=> //! Light properties

+ //! Setup headlight flag.
+ //! Setup location of positional/spot light. theIsDisplay - should the position be displayed (Standard_True by default).
+ //! Setup location of positional/spot light. theIsDisplay - should the position be displayed (Standard_True by default).
=> Use "Sets".

+ if (theValue)
+ {
+ SetTransformPersistence(new Graphic3d_TransformPers(Graphic3d_TMF_CameraFullPers, myLightSource->Position()));
+ }
+ else
+ {
+ SetTransformPersistence(new Graphic3d_TransformPers(Graphic3d_TMF_None, gp_Pnt(0., 0., 0.)));
+ }
Add one space before parenthesis.

+ //! Angle in radians of the cone created by the spot, should be within range (0.0, M_PI). theIsDisplay - should the position be displayed (Standard_True by default).
=> "Sets angle"

+ //! Delete all displayed attributes from Viewer.
=> "Deletes"

+ //! Show all attributes of lights in Viewer.
=> "Shows"

+ //! Return bounding box.
=> "Returns"

+ Standard_EXPORT void ComputeSelection (const Handle(SelectMgr_Selection)& theSelection, const Standard_Integer /*aMode*/) Standard_OVERRIDE;
+
+ Standard_EXPORT virtual void Compute (const Handle(PrsMgr_PresentationManager3d)& /*thePresentationManager*/, const Handle(Prs3d_Presentation)& thePresentation, const Standard_Integer theMode) Standard_OVERRIDE;
Add comments.

+ Standard_Boolean isNameDisplayed;
+ Standard_Boolean isPositionDisplayed;
+ Standard_Boolean isDirectionDisplayed;
+ Standard_Boolean isConeShapeDisplayed;
+ Standard_Boolean isRangeDisplayed;
=>myIs...
Move these fields to the end of all class fields.

+ myDirectionBeforeTransformation(0.0f, 0.0f, 0.0f, 0.0f),
Vec4 is zero vector by default

+ //! Initializes the light source.
+ Standard_EXPORT AIS_LightSource (Graphic3d_TypeOfLightSource theType, Handle(AIS_InteractiveContext) theContext);
+
+ //! Initializes the light source by copying Graphic3d_CLight settings.
+ Standard_EXPORT AIS_LightSource (const Handle(Graphic3d_CLight) & theLightSource, Handle(AIS_InteractiveContext) theContext);
=> const Handle(AIS_InteractiveContext)& theContext
But it is better to use base SetContext() method.

+ myCTXPtr = &*theContext;
myCTXPtr = theCtx.get();

osa

2020-11-02 10:15

developer   ~0096437

+ myDirectionBeforeTransformation = Graphic3d_Vec4(float(theDir.X()), float(theDir.Y()), float(theDir.Z()), 0.0);
=> 0.f

+ SelectMgr_Vec3 mde (aMinPoint);
Bad variable name.

git

2020-11-02 13:17

administrator   ~0096450

Branch CR31704_4 has been updated forcibly by mkrylova.

SHA-1: 11c645005b1e6aa4c268b8f3e8a09ddf17ce1b1d

git

2020-11-02 13:24

administrator   ~0096452

Branch CR31704_5 has been created by mkrylova.

SHA-1: 119d554496104effd2c2473c210c57b1490d53b3


Detailed log of new commits:

Author: mkrylova
Date: Tue Sep 8 17:50:28 2020 +0300

    0031704: Visualization - add an interactive object AIS_LightSource representing a light source
    
    - Added new class AIS_LightSource - object representing a light source
    - Represented position, name, direction, Cut-off range and spot light source cone shape
    - Assigned Local Transformation to interactive object
    - Updated function vlight with opportunities of presentation via AIS_LightSource tools
    - Added ability to turn on/off light
    - Added Transformation-persistence mode

osa

2020-11-05 15:33

developer   ~0096544

+ aMap.Bind (aLightNew->GetId(), new AIS_LightSource(aLightNew));
+ aMap.Find (aLightNew->GetId())->SetContext (ViewerTest::GetAISContext());
+ GetMapOfAIS().Bind (aMap.Find (aLightNew->GetId()), aLightNew->GetId());

Please avoid Find() method usage. It is not good by performance. You can save new object to additional variable instead of.

osa

2020-11-05 15:37

developer   ~0096545

+ Standard_Boolean isNameDisplayed;
+ Standard_Boolean isPositionDisplayed;
+ Standard_Boolean isDirectionDisplayed;
+ Standard_Boolean isConeShapeDisplayed;
+ Standard_Boolean isRangeDisplayed;
Please rename. Use my***

osa

2020-11-05 15:38

developer   ~0096546

+ //! Sets context.
+ //void SetContext(const Handle(AIS_InteractiveContext)& theContext) {myCTXPtr}
Remove unused code

osa

2020-11-05 15:40

developer   ~0096547

+ if (theValue)
+ {
+ SetTransformPersistence (new Graphic3d_TransformPers(Graphic3d_TMF_CameraFullPers, myLightSource->Position()));
+ }
+ else
+ {
+ SetTransformPersistence (new Graphic3d_TransformPers(Graphic3d_TMF_None, gp_Pnt(0., 0., 0.)));
+ }

Maybe is it better to save input parameter to some temporary variable and call SetTransformPersistence() method only once?

kgv

2020-11-05 15:42

developer   ~0096548

+ Standard_Boolean isNameDisplayed;
+ Standard_Boolean isPositionDisplayed;
+ Standard_Boolean isDirectionDisplayed;
+ Standard_Boolean isConeShapeDisplayed;
+ Standard_Boolean isRangeDisplayed;
> Please rename. Use my*** 

myToDisplayName and ToDisplayName()/SetDisplayName() will sound more natural for theses properties.

git

2020-11-06 15:29

administrator   ~0096594

Branch CR31704_5 has been updated by mkrylova.

SHA-1: 3423eb5436b2c186be29fb0d86c80b0b1b8173bd


Detailed log of new commits:

Author: mkrylova
Date: Fri Nov 6 15:30:17 2020 +0300

    osa and kgv remarks

git

2020-11-09 11:51

administrator   ~0096614

Branch CR31704_6 has been created by mkrylova.

SHA-1: 4e647c8f85c3ef1c8503d23b1be8b6f371af1b51


Detailed log of new commits:

Author: mkrylova
Date: Tue Sep 8 17:50:28 2020 +0300

    0031704: Visualization - add an interactive object AIS_LightSource representing a light source
    
    - Added new class AIS_LightSource - object representing a light source
    - Represented position, name, direction, Cut-off range and spot light source cone shape
    - Assigned Local Transformation to interactive object
    - Updated function vlight with opportunities of presentation via AIS_LightSource tools
    - Added ability to turn on/off light
    - Added Transformation-persistence mode

git

2020-12-15 12:00

administrator   ~0097602

Branch CR31704_7 has been created by kgv.

SHA-1: 6523a50b3c76aa8bb19931c8000dc99ff9c72b34


Detailed log of new commits:

Author: mkrylova
Date: Tue Sep 8 17:50:28 2020 +0300

    0031704: Visualization - add an interactive object AIS_LightSource representing a light source
    
    Added new class AIS_LightSource representing a light source presentation.
    
    Graphic3d_TMF_CameraPers - added new mode to Graphic3d_TransformPers
    defining 3D point relative to camera Eye position.

kgv

2020-12-15 12:08

developer   ~0097603

Several remarks have been pushed to branch CR31704_7.

Please push test case(s) to the branch testing new functionality.
Please proceed with the following:

    Handle(Graphic3d_Group) aGroup = thePrs->NewGroup();
    Handle(Graphic3d_ArrayOfPoints) aPoints = new Graphic3d_ArrayOfPoints (1);
    aPoints->AddVertex (myLightSource->Position());
    aGroup->AddPrimitiveArray (aPoints);

Presentation group is created with undefined attributes.

    Handle(Geom_Line) aLine = new Geom_Line (myLightSource->Position(), myLightSource->Direction());
    GeomAdaptor_Curve aCurve (aLine, 0.0, myLightSource->Range() != 0.0 ? myLightSource->Range() : Precision::Infinite());
    StdPrs_Curve::Add (thePrs, aCurve, myDrawer)

This is certainly an overkill creating Geom_Line for displaying a line segment.

Handle(Geom_Circle) aCircle = new Geom_Circle(anAxes, aRadius);
    GeomAdaptor_Curve aCircleCurv (aCircle);
    const Standard_Real aPrevDev = myDrawer->DeviationCoefficient();
    myDrawer->SetDeviationCoefficient (1.e-5);
    StdPrs_DeflectionCurve::Add (thePrs, aCircleCurv, myDrawer);
    myDrawer->SetDeviationCoefficient (aPrevDev);

This is overcomplication computing circle presentation through general tool StdPrs_DeflectionCurve.
Please simplify code to avoid Geom classes.

+    else if (anArgCase.IsEqual ("DELETE_PRESENTATION")
...
+            aLightSourceIter->DeleteAllDisplayedAttributes();
+            aLightSourceIter->SetToUpdate();
...
+      Handle(AIS_LightSource) aLightSourceCurr = new AIS_LightSource (aLight);
+      aMap.Bind (aLight->GetId(), aLightSourceCurr);
+      aLightSourceCurr->SetContext (ViewerTest::GetAISContext());
+      GetMapOfAIS().Bind (aLightSourceCurr, aLight->GetId());

This is not how show/hide works in AIS.
Please use AIS_InteractiveContext::Remove()/AIS_InteractiveContext::Display() for presentation management and try to remove unexpected AIS_LightSource::SetContext() calls.

kgv

2020-12-15 12:19

developer   ~0097604

+Standard_Boolean AIS_LightSource::ProcessDragging (const Handle(AIS_InteractiveContext)& ,

Within the current implementation, overriding AIS_InteractiveObject::HandleMouseClick() might be straightforward.

git

2020-12-24 17:08

administrator   ~0097896

Branch CR31704_7 has been updated forcibly by mkrylova.

SHA-1: d1d5f8bc3c0c5bfda5873039169333c81ae3424f

git

2020-12-24 17:12

administrator   ~0097897

Branch CR31704_8 has been created by mkrylova.

SHA-1: e09a1c45b2640e8ce9602381f700313efb66374f


Detailed log of new commits:

Author: mkrylova
Date: Tue Sep 8 17:50:28 2020 +0300

    0031704: Visualization - add an interactive object AIS_LightSource representing a light source
    
    Added new class AIS_LightSource representing a light source presentation.
    
    Graphic3d_TMF_CameraPers - added new mode to Graphic3d_TransformPers
    defining 3D point relative to camera Eye position

kgv

2020-12-24 17:25

developer   ~0097899

+    GeomAdaptor_Curve aCurve (new Geom_Line (myLightSource->Position(), myLightSource->Direction()),
+                              0.0, myLightSource->HasRange() ? myLightSource->Range() : Precision::Infinite());
+    StdPrs_Curve::Add (thePrs, aCurve, myDrawer);

Adaptors and Geom are still used in the code.

git

2020-12-29 17:01

administrator   ~0097980

Branch CR31704_8 has been updated forcibly by mkrylova.

SHA-1: dbcce6ac59514d34969783c2f462e09317e9d66c

git

2020-12-30 12:27

administrator   ~0097988

Branch CR31704_9 has been created by kgv.

SHA-1: 2bad57193efe66dfe8c9cab13ca6afe91e3ea005


Detailed log of new commits:

Author: mkrylova
Date: Tue Sep 8 17:50:28 2020 +0300

    0031704: Visualization - add an interactive object AIS_LightSource representing a light source
    
    Added new class AIS_LightSource representing a light source presentation.
    
    Graphic3d_TMF_CameraPers - added new mode to Graphic3d_TransformPers
    defining 3D point relative to camera Eye position

kgv

2020-12-30 13:22

developer   ~0097989

Last edited: 2020-12-30 13:24

Please don't forget pushing a squashed branch.
I've put a couple of corrections into CR31704_9.

@@ -438,6 +438,8 @@ void AIS_Manipulator::Detach()
   if (!aContext.IsNull())
   {
     aContext->Remove (this, Standard_False);
+    aContext->Display (anObject, true);
+    aContext->Redisplay (anObject, true);

This is unexpected hack, please consider fixing an issue (if any) in other way.

+# --------------------------------------
+# display presentations of light sources
+# --------------------------------------

Please print description using "puts".

+set anImage1 $imagedir/${casename}_1.png

These additional variables are not very useful for a single-time usage.
Please just call "vdump $imagedir/${casename}_1.png" in place.
Replacing numbers with some meaningful text would be also helpful.

--- /dev/null
+++ b/tests/v3d/light_source/display_all

New tests will not be executed without putting them into tests/v3d/grids.list

+    const Standard_Real aRadius = myLightSource->HasRange() ? myLightSource->Range() : UnitsAPI::AnyToLS (250000., "mm");

Please avoid using UnitsAPI. Make 250000 a user-configurable parameter.
If this is an infinite line - you may use Prs3d_Drawer::MaximalParameterValue() / 2.0 instead of hard-coded number.

It might be also reasonable setting myInfiniteState=true in constructor as light sources are not expected to be affected by fit all.

    const Handle(Prs3d_ShadingAspect)& anAspect = myDrawer->ShadingAspect();
+    anAspect->Aspect()->SetShadingModel (Graphic3d_TOSM_UNLIT);

This is not how it is supposed to work - aspects should not be modified by ::Compute().
Moreover, there are no Prs3d_Drawer::SetShadingAspect() calls, so that the code modifies global AIS_InteractiveContext aspects instead of local to object.
Please define necessary aspects in constructor.

+    Prs3d_ToolSphere aSphere (aRadius, THE_NB_SLICES, THE_NB_STACKS);
+    gp_Trsf aTrsf;
+    aTrsf.SetTranslation (gp_Vec(gp::Origin(), myLightSource->Position()));
+    Handle(Graphic3d_ArrayOfTriangles) aCenterArray;
+    aSphere.FillArray (aCenterArray, aTrsf);

Prs3d_ToolSphere::Create() will be more straight-forward here.

+    Prs3d_ToolCylinder aConus (aRadius, 0.0, aDistance, THE_NB_SLICES, THE_NB_STACKS);

conus -> cone.

+  static NCollection_DataMap<TCollection_AsciiString, Handle(AIS_LightSource)> aMap;

aLightPrsMap.

+    Handle(V3d_Light) aLight = aLightIter.Value();
+    if (!aMap.IsBound (aLight->GetId()))

It looks redundant relying on additional identifier - Handle(V3d_Light) can be used directly as a key.

+      ViewerTest::GetAISContext()->Display (anIter.Value(), true);
+      ViewerTest::GetAISContext()->Redisplay (anIter.Value(), true);

There should be no need calling Redisplay() right after Display() - make sure you've put necessary SetToUpdate() calls on modification of presentable object.
Moreover, Display() shouldn't be called with "true" flag requiring to redraw a view on iterating over each light source in a loop.

+      GetMapOfAIS().Bind (aLightSourceNew, aLightNew->GetId());

Please avoid using internal GetMapOfAIS() when possible - use ViewerTest::Display() instead.

+    else if (anArgCase.IsEqual ("DELETE_PRESENTATION")
...
+          aLightSourceIter->DeleteAllDisplayedAttributes();

Once again - AIS_InteractiveContext::Remove() is expected to be used instead.

+    else if (anArgCase.IsEqual ("DISPLAY")
+          || anArgCase.IsEqual ("-DISPLAY"))
+    {
+        for (V3d_ListOfLightIterator aLightIter(aView->ActiveLightIterator()); aLightIter.More(); aLightIter.Next())
+        {
+          Handle(AIS_LightSource) aLightSourceIter = aMap.Find (aLightIter.Value()->GetId());
+          aLightSourceIter->SetDisplayName (true);

So far it doesn't look reasonable performing Display/Remove action directly in the loop.
Instead, code may remember action and perform it after main loop (in the same place, where you try recomputing presentations).

mkrylova

2021-01-13 13:07

developer   ~0098101

Branch CR31704_8 has been updated by mkrylova
# kgv remarks:
- deleted last changes in AIS_Manipulator
- fixed tests
- added tests in grids.list
- replaced UnitsAPI::AnyTools (250000., "mm") by Prs3d_Drawer::MaximalParameterValue()
- added new variables for aspects
- fixed map stored light sources
- replaced DeleteAllDisplayedAttributes() by Remove()
- fixed performing "-DISPLAY" action
- fixed code style

mkrylova

2021-01-13 13:08

developer   ~0098102

Branch CR31704_10 has been created by mkrylova.

0031704: Visualization - add an interactive object AIS_LightSource representing a light source
    
Added new class AIS_LightSource representing a light source presentation.
    
Graphic3d_TMF_CameraPers - added new mode to Graphic3d_TransformPers
defining 3D point relative to camera Eye position

kgv

2021-01-13 15:54

developer   ~0098105

Some remarks have been pushed to CR31704_10.

Extra questions:
- It seems DIRECTIONAL light sources are not displayed, do they?

testgrid v3d light_source
> vlight -clear 
> Error: no active viewer

Test cases are expected to pass, not to fail.

+          Handle(AIS_LightSource) aLightSourceIter = aLightPrsMap.Find (aLightIter.Value());
+          aLightSourceIter->SetDisplayName (true);
+          aLightSourceIter->SetDisplayPosition (true);
+          aLightSourceIter->SetDisplayDirection (true);
+          aLightSourceIter->SetDisplayAngle (true);
+          aLightSourceIter->SetDisplayRange (true);

Setting/unsetting options should not be done like this.

-      aLightCurr->SetDirection (anXYZ[0], anXYZ[1], anXYZ[2]);
+      aLightSourceCurr->SetDirection (gp_Dir (anXYZ[0], anXYZ[1], anXYZ[2]));

This is not how it is supposed to work.
You should set properties to Graphic3d_CLight and just invalidate presentation, so that AIS_InteractiveContext::Display() will do necessary staff.

+      ViewerTest::Display (anIter.Value()->Light()->GetId(), anIter.Value(), false);

This will produce a weirdly named presentations "0", "1", etc.
It will be better asking user to enter presentation name.
E.g.:
> vlight -change 0 -display "light0"
-prs/-presentation/-display could be aliases.

+  static NCollection_DataMap<Handle(V3d_Light), Handle(AIS_LightSource)> aLightPrsMap;

I propose removing this map altogether.
User will have to explicitly display each light source and he will be able to removed it from AIS_InteractiveContext at any time via "vremove" command.
It can be kept responsibility of user removing light source presentation right after removing light source itself via "vlight -delete" command,
or alternatively, command may iterate over all presentations in context and remove related light presentations.

-    "\n        -angle angleDeg"
+    "\n        -angle angleDeg {0|1} (display or not the angle of spot light source; 0 by default)"

Let's do not overload existing parameters setting light source properties.
It is better introducing a dedicated parameter(s) defining presentation style like -showAngle {0|1}/-showRange {0|1}/-showName {0|1}.
If "-display prsName" argument is not given, command can try to find related presentations in context to invalidate them or just report a syntax error.
Consider overriding AIS_KindOfInteractive property of AIS_LightSource object to filter out most of irrelevant presentations.
AIS_KOI_Datum and AIS_KOI_Object do not seems represent light source object well, so maybe it could be a new type AIS_KOI_LightSource.

mkrylova

2021-01-19 13:23

developer   ~0098202

Branch CR31704_10 has been updated by mkrylova
# kgv remarks:
- overrode AIS_KindOfInteractive property of AIS_LightSource object
- introduced new parameters in vlight
- fixed vlight
- removed SetPosition, SetDirection and BoundingBox from AIS_LightSource
- removed myPositionBeforeTransformation and myDirBeforeTrsf from AIS_LightSource
- fixed tests

mkrylova

2021-01-19 13:23

developer   ~0098203

Branch CR31704_11 has been created by mkrylova.

0031704: Visualization - add an interactive object AIS_LightSource representing a light source
    
Added new class AIS_LightSource representing a light source presentation.
    
Graphic3d_TMF_CameraPers - added new mode to Graphic3d_TransformPers
defining 3D point relative to camera Eye position

kgv

2021-01-22 19:01

developer  

photo_2021-01-22_19-01-10.jpg (114,916 bytes)

kgv

2021-01-22 19:45

developer   ~0098357

Current implementation looks unusable for several cases.
Please consider the following improvements (on top of minor corrections pushed to CR31704_11):

0. More attributes enabled by default.
AIS_LightSource constructor hides direction and name.
This makes default presentation of directional light useless.

1. Non-headlight Directional Light: position.
Current behavior is displaying such light at (0,0,0) point, which is kind of frustrating as normally this is a center of the scene.
It is proposed to compute default position of such light source basing on bounding box of the scene Graphic3d_CView::MinMaxValues().
The position will be computed as an intersection point of directional light with bounding sphere from crossing the center of this sphere.
This will be an initial position - setting location transformation externally (e.g. by using manipulator or other means) will allow moving it.

2. Non-headlight Directional Light: arrow length.
Current behavior is computing enormously long "infinite" arrow.
This looks too messy in the scene.
It is proposed computing arrow length as a configurable fraction of on bounding box of the scene (try 10% by default to see how it looks) and as absolute length value.
The same for an arrow length of Spot Light.

2. Non-headlight Directional Light: number of arrows.
Currently directional light is represented by a single arrow.
This looks like a weak association to the directional light having no real position in space.
It is proposed drawing several parallel arrows around displaying position, with configurable number.

3. Positional Light: infinite range.
Current implementation displays enormously large sphere for representing infinite range.
Practically speaking, this is probably not useful representation of infinite range - it would be better drawing a sphere of a small fixed (configurable) radius.

4. Ambient Light.
It seems the current implementation has no representation for such light.
It is proposed displaying it as a sphere filled in with source color (probably with several arrows toward the sphere) at a corner of view via Graphic3d_TMF_TriedronPers persistence.
Enabling/disabling light source should work fine as in case of other types.

5. vlight command improvements.
It is proposed adding "-set"/"-replace" commands behaving the same as "-add" (e.g. creating a new light source) but replacing existing light with specified index.
Specifying index of non-existing light source would automatically extends the list of lights (with empty lights in-between - to be checked what would not cause crashes in existing code).
This would allow simpler scripting instead of repetitive -clear, -add, -add.

N. TODO: check positional light first display.
In my tests (-2,0,0) positional light first appeared at (0,0,0) position, which has been fixed only after redisplaying / modifying the light.

N. TODO: check head-light behavior / consider improvements.
It looks like it is often clipped by camera frustum or objects...

N. TODO: icons [to be considered later]
Embed markers representing point light sources instead of a cross.

git

2021-01-29 17:58

administrator   ~0098517

Branch CR31704_11 has been updated forcibly by mkrylova.

SHA-1: e6a386f285f7c9044341354fac5dcca81300efa0

git

2021-01-29 17:59

administrator   ~0098518

Branch CR31704_12 has been created by mkrylova.

SHA-1: 04699395a7a009e5314d73c49b00b38f8cc224d9


Detailed log of new commits:

Author: mkrylova
Date: Tue Sep 8 17:50:28 2020 +0300

    0031704: Visualization - add an interactive object AIS_LightSource representing a light source
    
    Added new class AIS_LightSource representing a light source presentation.
    
    Graphic3d_TMF_CameraPers - added new mode to Graphic3d_TransformPers
    defining 3D point relative to camera Eye position

mkrylova

2021-01-29 18:00

developer  

display_all_updated.png (25,136 bytes)

mkrylova

2021-01-29 18:03

developer  

manipulator.png (25,950 bytes)

git

2021-02-02 15:24

administrator   ~0098614

Branch CR31704_12 has been updated forcibly by kgv.

SHA-1: 2747c597c6a0c832f9f710e93ecbdb16ce59c57d

git

2021-02-04 12:49

administrator   ~0098654

Branch CR31704_13 has been created by mkrylova.

SHA-1: 725d1ed17c92d2894155b1554a088c62dbfc5314


Detailed log of new commits:

Author: mkrylova
Date: Thu Feb 4 12:48:52 2021 +0300

    # remarks
    - updated directional light source presentation
    - updated direction presentation
    - fixed insensitivity of light source after changing headlight state

git

2021-02-05 13:21

administrator   ~0098673

Branch CR31704_13 has been updated by kgv.

SHA-1: b57c677301edd2d43de52ff48cbab9b0862a298f


Detailed log of new commits:

Author: kgv
Date: Fri Feb 5 11:50:38 2021 +0300

    # remarks 1

git

2021-02-05 17:02

administrator   ~0098680

Branch CR31704_13 has been updated by kgv.

SHA-1: bef20a5eb2eb272882e1eb098c5dab42fba8f17b


Detailed log of new commits:

Author: kgv
Date: Fri Feb 5 14:40:05 2021 +0300

    # remarks 2

git

2021-02-05 17:38

administrator   ~0098681

Branch CR31704_13 has been updated forcibly by kgv.

SHA-1: c0324514b6ae23369e47163a79c493ab65d07768

git

2021-02-05 17:53

administrator   ~0098683

Branch CR31704_13 has been updated forcibly by kgv.

SHA-1: 478c7d122ea283bdb214a5ef0f4f73b8edb54f52

git

2021-02-05 19:06

administrator   ~0098688

Branch CR31704_13 has been updated forcibly by kgv.

SHA-1: 84f67cb5ab559b3f0ae7d284f37f16ef0b4bdc13

git

2021-02-05 19:12

administrator   ~0098689

Branch CR31704_13 has been updated forcibly by kgv.

SHA-1: 252d85414bef5952d2d2025d3c2135996c5c152b

git

2021-02-05 20:10

administrator   ~0098690

Branch CR31704_13 has been updated forcibly by kgv.

SHA-1: 730f83e0c62a6dfc4488deb437fc6e3476b78062

git

2021-02-05 20:40

administrator   ~0098691

Branch CR31704_13 has been updated forcibly by kgv.

SHA-1: 5bf66559be4dfd87cc2d6c04a91686c36e99aa52

git

2021-02-05 21:20

administrator   ~0098695

Branch CR31704_13 has been updated forcibly by kgv.

SHA-1: 037d4834ccb99e95c682ece35121edf2c78677fc

git

2021-02-05 21:25

administrator   ~0098696

Branch CR31704_13 has been updated forcibly by kgv.

SHA-1: 4372329498c707808c295b5f8dd818ba2d34bf94

git

2021-02-05 21:35

administrator   ~0098697

Branch CR31704_13 has been updated forcibly by kgv.

SHA-1: 94b055b77c122244a578952183f1672f846a8697

git

2021-02-06 00:19

administrator   ~0098702

Branch CR31704_13 has been updated by kgv.

SHA-1: 261a2c0dea5294f34773c854925529361108fef3


Detailed log of new commits:

Author: kgv
Date: Sat Feb 6 00:20:38 2021 +0300

    # positional

git

2021-02-06 01:07

administrator   ~0098703

Branch CR31704_13 has been updated by kgv.

SHA-1: 80ab06ed2c20dff40ea9ae8b2cdf36950bb8548c


Detailed log of new commits:

Author: kgv
Date: Sat Feb 6 01:00:22 2021 +0300

    # highlight

Author: kgv
Date: Sat Feb 6 00:49:57 2021 +0300

    # spotlight

git

2021-02-06 01:21

administrator   ~0098704

Branch CR31704_13 has been updated by kgv.

SHA-1: 30577a25a0ce73628ca6930f20cc512237b823d4


Detailed log of new commits:

Author: kgv
Date: Sat Feb 6 01:22:53 2021 +0300

    # label shift

git

2021-02-06 02:08

administrator   ~0098705

Branch CR31704_13 has been updated by kgv.

SHA-1: 0eecf0ec74281d9d2209cdaf42a51eab3d0f8bff


Detailed log of new commits:

Author: kgv
Date: Sat Feb 6 01:41:57 2021 +0300

    # display stacked sources

git

2021-02-06 03:05

administrator   ~0098706

Branch CR31704_13 has been updated by kgv.

SHA-1: 9a3a30d2b0b76c65facac472bc56d08d194617be


Detailed log of new commits:

Author: kgv
Date: Sat Feb 6 02:56:28 2021 +0300

    # ambient light source - add arrows

git

2021-02-06 03:16

administrator   ~0098707

Branch CR31704_13 has been updated by kgv.

SHA-1: 200bd3ab4bf6fe17a1b039fc8b32cbef994a37be


Detailed log of new commits:

Author: kgv
Date: Sat Feb 6 03:17:22 2021 +0300

    # docs

git

2021-02-06 03:47

administrator   ~0098708

Branch CR31704_13 has been updated by kgv.

SHA-1: 66594bca037dce65cdcbe10c57d2608c1b520da2


Detailed log of new commits:

Author: kgv
Date: Sat Feb 6 03:49:09 2021 +0300

    # fix tests

Author: kgv
Date: Sat Feb 6 03:46:01 2021 +0300

    # vlight - remove non-working option -set

Author: kgv
Date: Sat Feb 6 03:40:04 2021 +0300

    # vlight fixes

kgv

2021-02-06 03:55

developer  

display_all_off.png (17,892 bytes)

git

2021-02-06 03:57

administrator   ~0098709

Branch CR31704_14 has been created by kgv.

SHA-1: a6973e47c44962d764340e299bc40881cf128485


Detailed log of new commits:

Author: mkrylova
Date: Tue Sep 8 17:50:28 2020 +0300

    0031704: Visualization - add an interactive object AIS_LightSource representing a light source
    
    Added new class AIS_LightSource representing a light source presentation.
    
    Graphic3d_TMF_CameraPers - added new mode to Graphic3d_TransformPers
    defining 3D point relative to camera Eye position

git

2021-02-06 12:30

administrator   ~0098711

Branch CR31704_14 has been updated forcibly by kgv.

SHA-1: 7b27c9173cab59d6b638b6d19886e688779123f6

git

2021-02-06 12:47

administrator   ~0098712

Branch CR31704_14 has been updated forcibly by kgv.

SHA-1: a680829f0588e8aa70e339716f9592415556d2b3

git

2021-02-06 16:26

administrator   ~0098740

Branch CR31704_14 has been updated forcibly by kgv.

SHA-1: d1dd4bdd2f7c1c205211f9a1ccbc687ca83f4964

git

2021-02-06 16:28

administrator   ~0098741

Branch CR31704_14 has been updated forcibly by kgv.

SHA-1: ba1fc549cea90698f88b296c1e665212b1fbcc7c

kgv

2021-02-06 18:45

developer   ~0098742

Please raise the patch
- OCCT branch: CR31704_14.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR31704_14-master-KGV/

git

2021-02-08 10:46

administrator   ~0098750

Branch CR31704_14 has been updated forcibly by kgv.

SHA-1: debe886b2bb2f62842bbfd6d4da901b3b811e057

bugmaster

2021-02-13 11:10

administrator   ~0098860

Combination -
OCCT branch : IR-2021-02-12
master SHA - fb68dbdbd6810ee27f9398c749c5740b7bea7818
a87b7ddc8cb44606b91e3f37113847c3f5f50fdc
Products branch : IR-2021-02-12 SHA - 94205f40e685a70c77e547147d90c09e0a21c461
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17805.430000000237 / 17802.420000000013 [+0.02%]
Products
Total CPU difference: 11513.250000000124 / 11523.070000000105 [-0.09%]
Windows-64-VC14:
OCCT
Total CPU difference: 19375.296875 / 19372.265625 [+0.02%]
Products
Total CPU difference: 12857.265625 / 12882.921875 [-0.20%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2021-02-21 11:43

administrator   ~0099037

Branch CR31704_14 has been deleted by inv.

SHA-1: debe886b2bb2f62842bbfd6d4da901b3b811e057

git

2021-02-21 11:44

administrator   ~0099040

Branch CR31704_13 has been deleted by inv.

SHA-1: 66594bca037dce65cdcbe10c57d2608c1b520da2

git

2021-02-21 11:44

administrator   ~0099044

Branch CR31704_12 has been deleted by inv.

SHA-1: 2747c597c6a0c832f9f710e93ecbdb16ce59c57d

git

2021-02-21 11:44

administrator   ~0099046

Branch CR31704_11 has been deleted by inv.

SHA-1: e6a386f285f7c9044341354fac5dcca81300efa0

git

2021-02-21 11:44

administrator   ~0099050

Branch CR31704_10 has been deleted by inv.

SHA-1: 1cf615c2474a1403bdca20ed9b6a3850005b56b6

git

2021-02-21 11:44

administrator   ~0099051

Branch CR31704_9 has been deleted by inv.

SHA-1: 4b1ba2f3c1c54f50c96adc82dc64fbf04edd59f9

git

2021-02-21 11:44

administrator   ~0099052

Branch CR31704_8 has been deleted by inv.

SHA-1: dbcce6ac59514d34969783c2f462e09317e9d66c

git

2021-02-21 11:44

administrator   ~0099053

Branch CR31704_7 has been deleted by inv.

SHA-1: d1d5f8bc3c0c5bfda5873039169333c81ae3424f

git

2021-02-21 11:44

administrator   ~0099055

Branch CR31704_6 has been deleted by inv.

SHA-1: 4e647c8f85c3ef1c8503d23b1be8b6f371af1b51

git

2021-02-21 11:44

administrator   ~0099056

Branch CR31704_5 has been deleted by inv.

SHA-1: 3423eb5436b2c186be29fb0d86c80b0b1b8173bd

git

2021-02-21 11:44

administrator   ~0099057

Branch CR31704_4 has been deleted by inv.

SHA-1: 11c645005b1e6aa4c268b8f3e8a09ddf17ce1b1d

git

2021-02-21 11:44

administrator   ~0099058

Branch CR31704_3 has been deleted by inv.

SHA-1: ccb542c25a688aa9e7875b019d98379c62ab005c

git

2021-02-21 11:44

administrator   ~0099059

Branch CR31704_2 has been deleted by inv.

SHA-1: 5ad480ce0af5a44b1570235dbe39c1f7ddd3f56a

git

2021-02-21 11:44

administrator   ~0099060

Branch CR31704_1 has been deleted by inv.

SHA-1: 72b0666c5e2712df930500993cf28fa96d803b2d

git

2021-02-21 11:44

administrator   ~0099061

Branch CR31704 has been deleted by inv.

SHA-1: cec6ad406877f31bc45292c94fc5307e12457774

Related Changesets

occt: master 2daa5d95

2020-09-08 14:50:28

mkrylova


Committer: bugmaster Details Diff
0031704: Visualization - add an interactive object AIS_LightSource representing a light source

Added new class AIS_LightSource representing a light source presentation.

Graphic3d_TMF_CameraPers - added new mode to Graphic3d_TransformPers
defining 3D point relative to camera Eye position
Affected Issues
0031704
mod - src/AIS/AIS_KindOfInteractive.hxx Diff File
add - src/AIS/AIS_LightSource.cxx Diff File
add - src/AIS/AIS_LightSource.hxx Diff File
mod - src/AIS/FILES Diff File
mod - src/Graphic3d/Graphic3d_CLight.cxx Diff File
mod - src/Graphic3d/Graphic3d_CLight.hxx Diff File
mod - src/Graphic3d/Graphic3d_TransformPers.hxx Diff File
mod - src/Graphic3d/Graphic3d_TransModeFlags.hxx Diff File
mod - src/OpenGl/OpenGl_Structure.cxx Diff File
mod - src/Prs3d/Prs3d_ToolQuadric.hxx Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File
mod - tests/v3d/grids.list Diff File
add - tests/v3d/light_source/display_all Diff File
add - tests/v3d/light_source/headlight Diff File
add - tests/v3d/light_source/manipulator Diff File
mod - tests/v3d/raytrace/textures Diff File

Issue History

Date Modified Username Field Change
2020-08-11 09:39 kgv New Issue
2020-08-11 09:39 kgv Assigned To => kgv
2020-08-11 09:39 kgv Assigned To kgv => mkrylova
2020-08-11 09:39 kgv Status new => assigned
2020-08-11 09:42 kgv Relationship added related to 0031705
2020-09-21 17:42 kgv Target Version 7.5.0 => 7.6.0
2020-10-02 18:26 git Note Added: 0095600
2020-10-09 19:03 git Note Added: 0095879
2020-10-09 19:06 git Note Added: 0095880
2020-10-12 12:34 nds Note Added: 0095885
2020-10-14 18:33 git Note Added: 0095980
2020-10-14 18:38 git Note Added: 0095981
2020-10-14 19:15 kgv Note Added: 0095982
2020-10-14 19:17 kgv Note Added: 0095983
2020-10-14 19:19 kgv Note Added: 0095984
2020-10-26 11:33 kgv Steps to Reproduce Updated
2020-10-26 11:46 kgv Steps to Reproduce Updated
2020-10-27 17:32 git Note Added: 0096305
2020-10-28 08:13 kgv Note Added: 0096323
2020-10-28 15:33 mkrylova Note Added: 0096336
2020-10-28 15:35 mkrylova File Added: presentation of light with headlight mark.png
2020-10-28 15:35 mkrylova File Added: different light sources.png
2020-10-28 15:35 mkrylova File Added: manipulator.png
2020-10-28 16:46 git Note Added: 0096339
2020-10-29 13:42 mkrylova Steps to Reproduce Updated
2020-10-29 15:47 git Note Added: 0096372
2020-10-29 15:48 git Note Added: 0096375
2020-10-29 15:49 mkrylova Assigned To mkrylova => osa
2020-10-29 15:49 mkrylova Status assigned => resolved
2020-11-02 09:39 osa Note Added: 0096434
2020-11-02 09:44 osa Note Added: 0096435
2020-11-02 10:08 osa Note Added: 0096436
2020-11-02 10:15 osa Note Added: 0096437
2020-11-02 10:15 osa Assigned To osa => mkrylova
2020-11-02 10:15 osa Status resolved => assigned
2020-11-02 10:23 osa Note Edited: 0096435
2020-11-02 10:24 osa Note Edited: 0096436
2020-11-02 13:17 git Note Added: 0096450
2020-11-02 13:24 git Note Added: 0096452
2020-11-02 14:20 mkrylova Assigned To mkrylova => osa
2020-11-02 14:20 mkrylova Status assigned => resolved
2020-11-05 15:33 osa Note Added: 0096544
2020-11-05 15:37 osa Note Added: 0096545
2020-11-05 15:38 osa Note Added: 0096546
2020-11-05 15:40 osa Note Added: 0096547
2020-11-05 15:42 kgv Note Added: 0096548
2020-11-06 13:51 osa Assigned To osa => mkrylova
2020-11-06 13:51 osa Status resolved => assigned
2020-11-06 15:29 git Note Added: 0096594
2020-11-09 11:31 mkrylova Assigned To mkrylova => osa
2020-11-09 11:31 mkrylova Status assigned => resolved
2020-11-09 11:51 git Note Added: 0096614
2020-12-06 18:13 kgv Description Updated
2020-12-15 12:00 git Note Added: 0097602
2020-12-15 12:08 kgv Note Added: 0097603
2020-12-15 12:08 kgv Assigned To osa => mkrylova
2020-12-15 12:08 kgv Status resolved => assigned
2020-12-15 12:19 kgv Note Added: 0097604
2020-12-24 17:08 git Note Added: 0097896
2020-12-24 17:12 git Note Added: 0097897
2020-12-24 17:12 mkrylova Assigned To mkrylova => kgv
2020-12-24 17:12 mkrylova Status assigned => resolved
2020-12-24 17:25 kgv Note Added: 0097899
2020-12-24 17:25 kgv Assigned To kgv => mkrylova
2020-12-24 17:25 kgv Status resolved => assigned
2020-12-29 17:01 git Note Added: 0097980
2020-12-29 17:04 mkrylova File Deleted: different light sources.png
2020-12-29 17:06 mkrylova File Added: display_all.png
2020-12-29 17:08 mkrylova File Deleted: manipulator.png
2020-12-29 17:08 mkrylova File Added: manipulator.png
2020-12-29 17:14 mkrylova File Deleted: presentation of light with headlight mark.png
2020-12-29 17:14 mkrylova File Added: head_light.png
2020-12-29 17:14 mkrylova Assigned To mkrylova => kgv
2020-12-29 17:14 mkrylova Status assigned => resolved
2020-12-30 12:27 git Note Added: 0097988
2020-12-30 13:22 kgv Note Added: 0097989
2020-12-30 13:22 kgv Assigned To kgv => mkrylova
2020-12-30 13:22 kgv Status resolved => assigned
2020-12-30 13:24 kgv Note Edited: 0097989
2021-01-13 13:07 mkrylova Note Added: 0098101
2021-01-13 13:08 mkrylova Note Added: 0098102
2021-01-13 13:08 mkrylova Assigned To mkrylova => kgv
2021-01-13 13:08 mkrylova Status assigned => resolved
2021-01-13 15:54 kgv Note Added: 0098105
2021-01-13 15:54 kgv Assigned To kgv => mkrylova
2021-01-13 15:54 kgv Status resolved => assigned
2021-01-13 22:21 kgv Relationship added related to 0032055
2021-01-18 18:49 mkrylova File Deleted: display_all.png
2021-01-18 18:49 mkrylova File Deleted: manipulator.png
2021-01-18 18:49 mkrylova File Deleted: head_light.png
2021-01-18 19:36 mkrylova File Added: display_all.png
2021-01-18 19:37 mkrylova File Added: manipulator.png
2021-01-19 13:23 mkrylova Note Added: 0098202
2021-01-19 13:23 mkrylova Note Added: 0098203
2021-01-19 13:30 mkrylova Assigned To mkrylova => kgv
2021-01-19 13:30 mkrylova Status assigned => resolved
2021-01-19 13:30 mkrylova Steps to Reproduce Updated
2021-01-22 19:01 kgv File Added: photo_2021-01-22_19-01-10.jpg
2021-01-22 19:45 kgv Note Added: 0098357
2021-01-22 19:45 kgv Assigned To kgv => mkrylova
2021-01-22 19:45 kgv Status resolved => assigned
2021-01-29 17:58 git Note Added: 0098517
2021-01-29 17:59 git Note Added: 0098518
2021-01-29 18:00 mkrylova File Deleted: display_all.png
2021-01-29 18:00 mkrylova File Added: display_all_updated.png
2021-01-29 18:02 mkrylova File Deleted: manipulator.png
2021-01-29 18:03 mkrylova File Added: manipulator.png
2021-01-29 18:04 mkrylova Assigned To mkrylova => kgv
2021-01-29 18:04 mkrylova Status assigned => resolved
2021-02-02 15:24 git Note Added: 0098614
2021-02-04 12:49 git Note Added: 0098654
2021-02-05 12:50 kgv Relationship added related to 0032116
2021-02-05 13:21 git Note Added: 0098673
2021-02-05 17:02 git Note Added: 0098680
2021-02-05 17:38 git Note Added: 0098681
2021-02-05 17:53 git Note Added: 0098683
2021-02-05 19:06 git Note Added: 0098688
2021-02-05 19:12 git Note Added: 0098689
2021-02-05 20:10 git Note Added: 0098690
2021-02-05 20:40 git Note Added: 0098691
2021-02-05 20:43 kgv Relationship added related to 0032117
2021-02-05 21:20 git Note Added: 0098695
2021-02-05 21:25 git Note Added: 0098696
2021-02-05 21:35 git Note Added: 0098697
2021-02-06 00:19 git Note Added: 0098702
2021-02-06 01:07 git Note Added: 0098703
2021-02-06 01:21 git Note Added: 0098704
2021-02-06 02:08 git Note Added: 0098705
2021-02-06 03:05 git Note Added: 0098706
2021-02-06 03:16 git Note Added: 0098707
2021-02-06 03:47 git Note Added: 0098708
2021-02-06 03:55 kgv File Added: display_all_off.png
2021-02-06 03:57 git Note Added: 0098709
2021-02-06 12:30 git Note Added: 0098711
2021-02-06 12:47 git Note Added: 0098712
2021-02-06 16:26 git Note Added: 0098740
2021-02-06 16:28 git Note Added: 0098741
2021-02-06 18:45 kgv Note Added: 0098742
2021-02-06 18:45 kgv Assigned To kgv => bugmaster
2021-02-06 18:45 kgv Status resolved => reviewed
2021-02-06 18:50 kgv Relationship added related to 0032121
2021-02-08 10:46 git Note Added: 0098750
2021-02-09 14:01 kgv Relationship added related to 0027919
2021-02-13 11:10 bugmaster Note Added: 0098860
2021-02-13 11:10 bugmaster Status reviewed => tested
2021-02-13 11:15 bugmaster Test case number => tests/v3d/light_source/display_all,headlight,manipulator
2021-02-13 11:29 bugmaster Changeset attached => occt master 2daa5d95
2021-02-13 11:29 bugmaster Status tested => verified
2021-02-13 11:29 bugmaster Resolution open => fixed
2021-02-21 11:43 git Note Added: 0099037
2021-02-21 11:44 git Note Added: 0099040
2021-02-21 11:44 git Note Added: 0099044
2021-02-21 11:44 git Note Added: 0099046
2021-02-21 11:44 git Note Added: 0099050
2021-02-21 11:44 git Note Added: 0099051
2021-02-21 11:44 git Note Added: 0099052
2021-02-21 11:44 git Note Added: 0099053
2021-02-21 11:44 git Note Added: 0099055
2021-02-21 11:44 git Note Added: 0099056
2021-02-21 11:44 git Note Added: 0099057
2021-02-21 11:44 git Note Added: 0099058
2021-02-21 11:44 git Note Added: 0099059
2021-02-21 11:44 git Note Added: 0099060
2021-02-21 11:44 git Note Added: 0099061
2021-02-23 09:04 kgv Relationship added related to 0027955
2021-03-01 10:23 kgv Relationship added parent of 0032183